欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Flask蓝图基本使用

程序员文章站 2023-10-31 22:14:34
Flask蓝图基本使用 Flask通过使用蓝图将视图函数模块化,使应用显得更加规整 比如我们的应用的视图函数包括用户相关和文章相关,那么我们可以通过建立两个py文件分别存储两类视图函数 user.py: from flask import Blueprint from flask import re ......

flask蓝图基本使用

flask通过使用蓝图将视图函数模块化,使应用显得更加规整

比如我们的应用的视图函数包括用户相关和文章相关,那么我们可以通过建立两个py文件分别存储两类视图函数

user.py:

from flask import blueprint
from flask import render_template
from flask import request

user = blueprint('user', __name__)

@user.route('/login', methods=['get', "post"])
def login():
    return render_template('login.html')

article.py:

from flask import blueprint
from flask import render_template
from flask import request

article = blueprint('article', __name__)

@article.route('/article', methods=['get'])
def login():
    return render_template('article.html')

此时将这两个py文件放入同一个叫做app的包中并添加init文件:

from flask import flask
from .article import article
from .user import user

app = flask(__name__)
app.debug = true

app.register_blueprint(article)
app.register_blueprint(user)

在init文件中相当于完成了蓝图的注册

然后在app包中添加templates文件夹来存放模板文件

最后在app包外添加run.py

from app import app

if __name__ == '__main__':
    app.run()

执行run文件即可启动flaskapp

这里的蓝图对象的创建还有其他的参数:

user = blueprint(
    'user',
    __name__,
    url_prefix='/user'  # 该蓝图下的url前面都加上user/
    subdomain='user'  #  匹配子域名
    template_folder='templates',  # 自定义的模板文件夹,从同级目录找
    static_folder='static'    # 自定义的静态文件文件夹,从同级目录找

)