如何拦截未定义的路线

时间:2015-04-02 08:25:15

标签: flask

我可以在烧瓶中定义许多路线

@app.route('/')

@app.route('/schedules/<params>', methods=["GET"])

但是如何截获我的应用中未定义的任何其他路线。

2 个答案:

答案 0 :(得分:2)

以下情况如何?

@app.route('/<generic>')

您可能也在寻找处理404错误的方法

@app.errorhandler(404)

答案 1 :(得分:0)

我已经实现了一个catch_all功能,该功能将获取所请求的路径并尝试返回具有该名称的html文件,如果失败,它将重定向到索引。

@WebApp.app.route('/<path:path>', methods=['GET', 'POST'])
   def catch_all(path):
      url = path+".html"
      try:
         return flask.render_template(url)
      except:
         return flask.redirect(flask.url_for('index'))