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