返回顶部

Flask 蓝图与CBV

Flask蓝图 Blueprint

  • Blueprint,类似普通的Flask实例,不能被run的Flask实例,不存在config
  1. 创建蓝图bp_users.py文件,名字可以更改

    from flask import Blueprint
    
    bp = Blueprint('bp01', __name__,url_prefix='url前缀')  # 'bp01'第一个参数是唯一标识,整个环境不能重复!  url_prefix='url前缀',当存在多个蓝图url冲突时,在地址栏输入'url前缀',就可以访问指定的蓝图文件
    
    
    @bp.route('/user',endpoint='user')
    def user():
        return '我是蓝图函数01'
    
  2. 建立关系

    # 在项目的app.run文件中
    from app01 import bp  #导入蓝图
    app.register_blueprint(bp) # 注册蓝图
    
  3. 访问指定路径

    • 在蓝图中反向解析时,需要注意书写格式:

      url = url_for('蓝图标识.装饰器别名')
      

1.11CBV

  • 基本格式

    from flask import view,Flask
    app = Flask(__name__)
    
    class Login(views.MethodView):    #继承MethodView,使类变成视图函数
        def get(self,*args,**kwargs):
            pass
        def post(self,*args,**kwargs):
            pass
    app.add.url_rule('/login',
                    endpoint='login',  # 如果endpoint不定义的话名称就是view_func的name,必须唯一
                    view_func=Login.as_view(name='loginlogin'),  # name就是就是view_func的名称
                    )    
        
    app.run()
    

posted @ 2019-04-30 16:16  高薪程序员  阅读(243)  评论(0编辑  收藏  举报