路由 , flask实例化配置 , Fask app对象配置 , 特殊装饰器 , Flask蓝图Blueprint

路由 , flask实例化配置 , Fask app对象配置 , 特殊装饰器 , Flask蓝图Blueprint
 
  • 路由相关
 
    添加路由的一种方式 , 路由配置:   app.add_url_rule("路由地址",view_func=视图函                数,endpoint="反向地址")
 
    endpoint     通过url_for 反向生成url地址,默认是视图函数名 --解决视图函数重名
 
    defaults   传递默认参数
 
    strict_slashes  是否严格遵守URL地址规则 strict_slashes=True(就是遵守URL地址规则)在       地址末尾不可以出现 /  如果是False就可以出现斜杠
 
    redirect_to  永久重定向 
 
上述详情:
 
    添加路由的两种方式
    第一种是通过装饰器添加(普通添加)
        
 
    第二种 通过url_for
        
        
 
 
    defaults 传递默认参数
        
 
    是否严格遵守URL地址规则以及永久重定向
        
        
 
    动态路由
        
 
 
 
  • flask实例化配置
            更改文件存放目录  
            更改文件访问路径
                    
 
 
 
  • Fask app对象配置
            单独创建一个py文件
                
                
 
 
 
 
  • 特殊装饰器
            类似于django的中间件
            before_request     在请求进入视图函数之前作出响应
            after_request        在视图函数处理之后执行 , 响应返回客户端之前, 且执行顺序是倒序
 
            before_request     (在请求进入视图函数之前作出响应)
                    
                    
 
 
            after_request        (在视图函数处理之后执行 , 响应返回客户端之前, 且执行顺序是倒序)
                    
 
重定义错误提示, 404页面
@app.errorhandler(404)
def error404(arg):
    print(arg)
    # return '好嗨哟!!!'
    return redirect("https://www.autohome.com.cn/beijing/asdfgasdfasdf")       #这个错误页面网址可以自己在网上拷贝
 
 
 
 
  • 蓝图
            大致流程是  user.py --> __init__.py导入user.py里的部分内容  --> manager.py导入            __init__.py里的部分内容 (详情见代码中的注释)
            user.py --> __init__.py --> manager.py
 
views/user.py 文件         (导入蓝图 , 定义蓝图 , 视图函数)
# 导入蓝图
from flask import Blueprint
 
# 定义蓝图,蓝图名叫u_bp
u_bp = Blueprint('user', __name__)
 
# 设置路由地址,写视图函数
@u_bp.route('/user')
    def user():
    return 'I an user'
 
 
# views视图函数
 
__init__.py 文件           (导入flask , 导入定义好的蓝图 , 配置启动蓝图的配置项)
# 导入flask
from flask import Flask
# 导入我们的蓝图
from .views.user import u_bp
 
# 把 Flask(__name__) 赋值给app 再返回给 create_app
def create_app():
    app = Flask(__name__)
 
# 把我们定义的蓝图名称传到这里来
    app.register_blueprint(u_bp)
    return app
 
 
manage.py 文件            (导入启动蓝图需要的配置项和蓝图 , 启动蓝图并监听本机所有ip和5500端口)
# 导入__init__里面的内容
from app01 import create_app
# 把create_app 赋值给my_app
my_app = create_app()
 
# 配置项,让项目自动重启并且用my_app来启动蓝图,监听电脑全部ip和5500端口
if __name__ == "__main__":
    my_app.run("0.0.0.0", 5500, debug=True)
 
 
# (本页)在manager.py文件里启动蓝图
文件位置图片
 
 

猜你喜欢

转载自www.cnblogs.com/hdy19951010/p/10447218.html