我刚刚在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问题中苦苦寻找答案。没有文件格式,韵律或原因会给我带来错误,而不会给我带来错误。
答案 0 :(得分:0)
只需确保这不是您的问题。您检查过文件权限了吗?该组必须(至少)可以读取所有托管文件。
顺便说一句,您必须有权通过SSH访问错误日志。您可以在$ HOME / logs // https / error.log
中找到error.log文件。如果所有文件都具有必需的权限,并且如果您确实确定日志中没有任何错误,那么您可能会遇到this问题,其中Dreamhost上的共享服务器具有某些“随机性”提供文件时遇到麻烦。