Flask URL Route:将所有其他URL路由到某个功能

时间:2012-12-24 16:51:45

标签: python google-app-engine url-routing flask

我正在使用Flask 0.9。我有使用Google App Engine的经验。

  1. 在GAE中,网址匹配模式按其出现的顺序进行评估,先到先得。 Flask中的情况是一样吗?

  2. 在Flask中,如何编写网址匹配模式来处理所有其他不匹配的网址。在GAE中,您只需要将/.*放在最后,例如:('/.*', Not_Found)。如果Flask不支持Regex,如何在Flask中做同样的事情。

2 个答案:

答案 0 :(得分:14)

  1. 我认为这是答案http://flask.pocoo.org/docs/design/#the-routing-system
  2. 如果您需要处理服务器上找不到的所有网址 - 只需创建404 hanlder:

    @app.errorhandler(404)
    def page_not_found(e):
        # your processing here
        return result
    

答案 1 :(得分:9)

这适用于您的第二个问题。

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('/<path:dummy>')
def fallback(dummy):
    return 'This one catches everything else'

path会抓住一切直到结束。 More about the variable converters