查看Flask应用的路由结构

时间:2018-07-20 12:54:13

标签: python flask

有没有办法查看每个页面在应用程序中的路由。就像某种站点地图一样,查看是否有不必要的页面由于应用程序的增长而无所事事或变得无用。还是查看网站结构的另一种方式?

         -----------------------
        |                       |
login--home--about              |
      |                         |
      -- contact--contact form--|

2 个答案:

答案 0 :(得分:1)

它并不能完全满足您的要求,但这也许是一个起点。这个Flask片段列出了应用的路线。 http://flask.pocoo.org/snippets/117/

from flask_script import Manager
from myapp import app
from flask import url_for
manager = Manager(app)

@manager.command
def list_routes():
    import urllib
    output = []
    for rule in app.url_map.iter_rules():

        options = {}
        for arg in rule.arguments:
            options[arg] = "[{0}]".format(arg)

        methods = ','.join(rule.methods)
        url = url_for(rule.endpoint, **options)
        line = urllib.parse.unquote("{:50s} {:20s} {}".format(rule.endpoint, methods, url))
        output.append(line)

    for line in sorted(output):
        print line

if __name__ == "__main__":
    manager.run()

答案 1 :(得分:1)

Flask带有routes命令,以列出在应用程序中注册的路由。

$ export FLASK_APP=my_app
$ flask routes
    Endpoint                             Methods    Rule
-----------------------------------  ---------  ----------------------------------------------
auth.login                           GET, POST  /auth/login
auth.logout                          GET        /auth/logout
auth.register                        GET, POST  /auth/register
index                                GET        /