在Dreamhost Passenger WSGI上使用Flask render_template的问题

时间:2018-11-27 02:30:01

标签: python flask passenger dreamhost

我刚刚在Dreamhost共享托管服务器上安装了Passenger WSGI,以托管Flask网站。他们的文档非常差,我花了很长时间才弄清楚如何执行诸如touch tmp / restart.txt之类的事情,但是我终于站起来了。为了自学,我正在使用Miguel Grinberg's Flask tutorial

当我每次使用render_template()开始出错时,我已经使用模板到达了第二课。这有点令人沮丧,因为它已经工作了一段时间,然后我更改了routes.py,随后它退出了工作。还原routes.py不能解决问题。不幸的是,共享Dreamhost主机上的“乘客”确实记录了糟糕的日志(读取为不存在),所以我不知道问题出在哪里

我在这里查看了所有类似的问题,并且看来render_template错误几乎完全是由app目录中没有template文件夹引起的。这里不是这种情况。我尝试做the solution someone with a similar problem tried,什么也没做。

我错过了一些明显的东西吗?这是目录:

初始化 .py

routes.py

templates / index.html

初始化 .py:

from flask import Flask
app = Flask(__name__)
from public import routes

routes.py

from flask import render_template
from public import app

@app.route('/')
@app.route('/index')
def index():
    return render_template('index.html')

index.html(我无法想象这是问题所在,但以防万一

<html>
  <head>
      {% if title %}
      <title>{{ title }} - Microblog</title>
      {% else %}
      <title>Microblog</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
    </body>
</html>

我已经调整并替换了这里的几乎所有内容。除非我尝试使用render_template,否则一切正常。目录的位置是否有问题?从我阅读的所有内容来看,它正是应该存在的地方。

编辑:已解决。我用一个新的HTML文件替换了它,它起作用了。我猜render_template不喜欢缩进和标签。

EDIT2:未解决。对于某些HTML文件,它似乎随机给了我这个错误,而对于其他HTML文件则没有。因为Dreamhost WSGI不会给我任何错误记录或堆栈跟踪的功能,所以我在这里完全处于黑暗之中,并在Jinja2问题中苦苦寻找答案。没有文件格式,韵律或原因会给我带来错误,而不会给我带来错误。

1 个答案:

答案 0 :(得分:0)

只需确保这不是您的问题。您检查过文件权限了吗?该组必须(至少)可以读取所有托管文件。

顺便说一句,您必须有权通过SSH访问错误日志。您可以在$ HOME / logs // https / error.log

中找到error.log文件。

如果所有文件都具有必需的权限,并且如果您确实确定日志中没有任何错误,那么您可能会遇到this问题,其中Dreamhost上的共享服务器具有某些“随机性”提供文件时遇到麻烦。