单独的烧瓶`app.route`块

时间:2014-09-10 03:51:04

标签: python flask

我在route中有以下Flask功能但是当我构建我的应用程序时,链接太多太乱了。

如果我想在单独的文件中分离或分组路由器,我该怎么办?

@app.route('/', methods=['GET'])
def index():
    return render_template('index.html')


@app.route('/mylink', methods=['GET'])
def get_mylink():
    return render_template('mylink.html')

或者可以package调整route rs的大小吗?例如,

import myrouter
myrouter.Run()

1 个答案:

答案 0 :(得分:0)

当我的应用程序变得笨拙时,我将路由和功能分成不同的文件,但不完全像你建议/询问的那样。

如果您的应用遵循典型的包结构,并且具有索引和博客页面:

/app
  /templates
    /blog.html
    /index.html
  /__init__.py
  /models.py
  /views.py

然后您可以考虑将views.py文件转换为名为views的目录,并为该目录中的每组相关路由创建.py文件。例如:

/app
  /templates
    /blog.html
    /index.html
  /views
    /blog.py
    /main.py
  /__init__.py
  /models.py

您只需将每组@app.route()修饰符和相应的函数放入相应的文件中。因此,对于主页,您可以放置​​此页面和任何其他常规路由(例如登录/注销)

@app.route('/', methods=['GET'])
def index():
    return render_template('index.html')

main.py目录中的views。您需要使用app/__init__.pyfrom app.views import main, blog中导入这些内容。并且不要忘记在views目录中包含空白的__init__.py文件。