Sol*_*oub 2 python google-app-engine werkzeug jinja2 flask
我刚刚开始玩Flask,所以很有可能这是一个严重的无聊问题.此应用程序在Google App Engine SDK 1.7.4上运行.Flask 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()
Run Code Online (Sandbox Code Playgroud)
但是,如果我反转路由处理程序,转到/ hello/renders就好像我去了/
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()
Run Code Online (Sandbox Code Playgroud)
更糟糕的是,转到/ hello /,例如/ hello/John,会导致错误500.
这种正常行为和路线的顺序是否重要?如果是,请同时向我指出相关文档,并在可能的情况下,解释为什么此订单如此重要.
您正在创建两个具有相同名称的函数(hello
).重命名第二个:
@app.route('/')
def index():
return "Main page"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
542 次 |
最近记录: |