我正在使用 Flask 0.9。我有使用 Google App Engine 的经验。
在 GAE 中,url 匹配模式按照它们出现的顺序进行评估,先到先得。Flask中的情况是否相同?
在 Flask 中,如何编写一个 url 匹配模式来处理所有其他不匹配的 url。在 GAE 中,你只需要放在
/.*
最后,比如:('/.*', Not_Found)
. 由于 Flask 不支持 Regex,如何在 Flask 中做同样的事情。
我正在使用 Flask 0.9。我有使用 Google App Engine 的经验。
在 GAE 中,url 匹配模式按照它们出现的顺序进行评估,先到先得。Flask中的情况是否相同?
在 Flask 中,如何编写一个 url 匹配模式来处理所有其他不匹配的 url。在 GAE 中,你只需要放在/.*
最后,比如:('/.*', Not_Found)
. 由于 Flask 不支持 Regex,如何在 Flask 中做同样的事情。
这适用于您的第二个问题。
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'This is the front page'
@app.route('/hello/')
def hello():
return 'This catches /hello'
@app.route('/')
@app.route('/<first>')
@app.route('/<first>/<path:rest>')
def fallback(first=None, rest=None):
return 'This one catches everything else'
path
会抓住一切直到最后。更多关于变量转换器的信息。
如果您需要处理服务器上未找到的所有 url — 只需创建 404 处理程序:
@app.errorhandler(404)
def page_not_found(e):
# your processing here
return result