pythonanywhere+;flask:网站上只是说';未处理的异常';。如何让调试器打印堆栈跟踪?

pythonanywhere+;flask:网站上只是说';未处理的异常';。如何让调试器打印堆栈跟踪?,python,flask,pythonanywhere,Python,Flask,Pythonanywhere,提前得到三重新手威胁的警告-python新手、flask新手、flask新手 [pythonanywhere root]/mysite/test01.py # A very simple Flask Hello World app for you to get started with... from flask import Flask from flask import render_template # for templating #from flask import request

提前得到三重新手威胁的警告-python新手、flask新手、flask新手

[pythonanywhere root]/mysite/test01.py

# A very simple Flask Hello World app for you to get started with...

from flask import Flask
from flask import render_template # for templating
#from flask import request   # for handling requests eg form post, etc

app = Flask(__name__)
app.debug = True #bshark: turn on debugging, hopefully?

@app.route('/')
#def hello_world():
#    return 'Hello from Flask! wheee!!'
def buildOrg():
    orgname = 'ACME Inc'
    return render_template('index.html', orgname)
然后在[pythonywhere root]/templates/index.html中

<!doctype html>
<head><title>Test01 App</title></head>
<body>
{% if orgname %}
  <h1>Welcome to {{ orgname }} Projects!</h1>
{% else %}
<p>Aw, the orgname wasn't passed in successfully :-(</p>
{% endif %}
</body>
</html>

Test01应用程序
{%if orgname%}
欢迎来到{{orgname}}项目!
{%else%}
啊,组织名称没有成功传入:-(

{%endif%}
当我访问该站点时,我得到“未处理的异常”:-(
如何让调试器至少指出应该从何处开始查找问题?

您还需要将模板中使用的
orgname
变量的名称传递给
渲染模板

:

所以,改变这一行:

return render_template('index.html', orgname)
致:

问题是只需要一个位置参数,其余参数作为仅关键字参数传递。因此,您需要将代码更改为:

def buildOrg():
    orgname = 'ACME Inc'
    return render_template('index.html', name=orgname)

对于第一部分,您可以在pythonanywhere.com上的
Web
选项卡下找到错误日志。

查看“Web”选项卡下的错误日志。omg…thx!上面写着“TypeError:render_template()接受1个位置参数,但给出了2个“…类方法是否希望第一个参数为self?”hrm…此外,我希望接受您的注释作为答案,因为我可以看到其中的所有python错误。如果您将其作为答案重述,我会将其标记为已接受:)我已经发布了一个答案。谢谢Omid。它不起作用:2014-03-26 19:08:40801:return render_template('index.html',orgname=orgname)2014-03-26 19:08:40801:TypeError:render_template()接受1个位置参数,但2个被再次给出Omid-结果证明你是对的!!我的templates文件夹位于错误的位置-我错误地阅读了Flask quickstart guide。一旦它位于正确的位置,第二个参数设置为orgname=orgname就工作得很好。谢谢!接受,因为它指向了错误日志。但是重新设置的修复程序nder_模板不工作(请参阅我对Omid Raha的回复)..@user3465444您是否也在其他地方修复了此错误?(并且在进行更改后不要忘记重新加载应用程序)嗨…orgname=orgname param毕竟起作用了;问题是我的templates文件夹不在正确的位置。一旦我移动了它,一切都起作用了。耶!谢谢你的帮助。
return render_template('index.html', orgname=orgname)
def buildOrg():
    orgname = 'ACME Inc'
    return render_template('index.html', name=orgname)