zoukankan      html  css  js  c++  java
  • Flask蓝图基本使用

    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'    # 自定义的静态文件文件夹,从同级目录找
    
    )
    
  • 相关阅读:
    SpringMVC的自定义校验器
    Spring 国际化 异常:No message found under code 'message' for locale 'zh_CN'.
    《Redis实战》学习实践
    博客系统开发问题
    牛人博客
    Lambda表达式
    红黑树
    配置mysql的主从复制
    mysql 存储过程入门
    一个稍复杂的mysql存储过程
  • 原文地址:https://www.cnblogs.com/sfencs-hcy/p/10802386.html
Copyright © 2011-2022 走看看