• 235.11.flask蓝图


    1.目录结构

    2.代码包

    • manage.py
    from src import app
    if __name__ == '__main__':
        app.run(debug=True)
    
    • main.py
    from flask import Flask
    
    app = Flask(__name__)
    app.config.from_object("settings.DevelopmentConfig")
    
    
    @app.route("/index", methods=["POST", "GET"])
    def index():
        pass
    
    if __name__ == '__main__':
        app.run()
    
    
    • src/__init__py
    # coding=utf-8
    """
    蓝图作用:
    1.模块划分
    2.某个模块路由加前缀
    3.蓝图中的before_request装饰器只对当前模块生效
    4.蓝图可以实现静态目录 template_folder="", static_folder=""设置
    """
    from flask import Flask
    app = Flask(__name__)
    
    from views import account
    from views import user
    from views import admin
    
    
    app.register_blueprint(account.ac)
    app.register_blueprint(user.us)
    app.register_blueprint(admin.ad)
    
    
    • views/init.py
    空的
    
    • account.py
    from flask import Blueprint
    
    ac = Blueprint('account', __name__)
    
    
    @ac.route("/login")
    def login():
        return "login"
    
    
    @ac.route("/logout")
    def logout():
        return "logout"
    
    • admin.py
    from flask import Blueprint
    
    ad = Blueprint('ac', __name__, url_prefix="/admin", template_folder="", static_folder="")
    
    
    @ad.before_request
    def bf():
        print("before request")
    
    
    @ad.route("/admin")
    def admin():
        return "admin"
    
    
    @ad.route("/app")
    def app():
        return "app"
    
    
    • user.py
    
    from flask import Blueprint
    
    us = Blueprint('us', __name__)
    
    
    @us.route("/info")
    def info():
        return "info"
    
    
    @us.route("/user")
    def user():
        return "user"
    
    

    其他目录文件都是空的

    3.项目依赖环境生成

    # coding=utf-8
    """
    补充:
        - 项目依赖 pip3 install pipreqs;
            生成依赖文件: pipreqs ./ --force
            安装依赖文件: pip3 install -r requirements.txt
        - 什么是函数? 什么时方法?
            通过对象调用一个函数是他是方法, 方法一般会有一个参数由调用对象传入, 比如self
    
    """
    
  • 相关阅读:
    邮件发送
    生成缩略图
    截取字符串,中文安两个字符处理
    获取客户机MAC地址 根据IP地址 获取机器的MAC地址 / 获取真实Ip地址
    文件操作
    MD5加密 和 自定义加密解密
    Html标签替换(过滤掉html特殊符号)
    .net core 自定义中间件
    querySelector和querySelectorAll
    CSS下背景属性background的使用方法
  • 原文地址:https://www.cnblogs.com/liuzhanghao/p/16337551.html
Copyright © 2020-2023  润新知