2
我刚开始和Flask一起玩,所以很可能这是一个严肃的noobish问题。此应用正在Google App Engine SDK 1.7.4上运行。烧瓶0.9,Werkzeug 0.9和Jinja2 2.6。烧瓶路线顺序很重要?
下面的代码按预期工作:
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/')
def hello():
return "Main page"
@app.route('/hello/', methods=['GET', 'POST'])
@app.route('/hello/<name>', methods=['GET', 'POST'])
def hello(name=None):
return render_template('hello.html', name=name)
if __name__ == "__main__":
app.run()
但是,如果我扭转路线处理,去/你好/渲染,如果我去了/
from flask import Flask
from flask import render_template
app = Flask(__name__)
@app.route('/hello/', methods=['GET', 'POST'])
@app.route('/hello/<name>', methods=['GET', 'POST'])
def hello(name=None):
return render_template('hello.html', name=name)
@app.route('/')
def hello():
return "Main page"
if __name__ == "__main__":
app.run()
更糟糕的是,去/你好/,例如/你好/约翰,导致错误500.
这是正常的行为和路线的顺序很重要吗?如果是这样,请同时指出相关文档,并在可能的情况下提供该订单为何如此重要的解释。
谢谢!沙发上几乎掉下来,嘲笑这是多么愚蠢的错误。圣诞快乐/节日快乐! – Sologoub
@Sologoub:谢谢,你也是! – Blender
将在7分钟内接受并计数。 – Sologoub