flask项目创建

蓝图blueprint

帮助我们对flask程序进行目录结构的划分

flask     mtv
django    mvc
  • before_request
from flask import Flask

def create_app():
    app = Flask(__name__)

    @app.before_request
    def f1():
        print('f1')

    from .views.account import account
    from .views.user import user

    app.register_blueprint(account)
    app.register_blueprint(user)
    return app
from flask import Blueprint,url_for

# 创建了一个蓝图对象
account = Blueprint('account',__name__)

@account.before_request
def xx():
    print('xx')
  • url_for
from flask import Blueprint,url_for

# 创建了一个蓝图对象
account = Blueprint('account',__name__)

@account.before_request
def xx():
    print('xx')

@account.route('/login')
def login():
    url = url_for('account.register')
    print(url)
    return 'Login'

@account.route('/register')
def register():
    return 'register'

目录结构

 创建完成后显示一个crm文件

需要手动创建下图目录结构

例子

创建__init__.py文件

from flask import Flask

def create_app():
    app = Flask(__name__)

    @app.before_request
    def f1():
        print('f1')

    from .views.account import account
    from .views.user import user

    app.register_blueprint(account)
    app.register_blueprint(user)
    return app
View Code

创建manage.py运行文件

from crm import create_app
app = create_app()

if __name__ == '__main__':
    app.run(port=8000)
View Code

创建static用来存放静态文件

创建templates用来存放模板文件

创建views用写视图

在视图创建两个文件

account.py

from flask import Blueprint,url_for

# 创建了一个蓝图对象
account = Blueprint('account',__name__)

@account.before_request
def xx():
    print('xx')

@account.route('/login')
def login():
    url = url_for('account.register')
    print(url)
    return 'Login'

@account.route('/register')
def register():
    return 'register'
View Code

user.py

from flask import Blueprint

# 创建了一个蓝图对象
user = Blueprint('user',__name__)

@user.route('/user/list')
def user_list():
    return 'user list'

@user.route('/user/add')
def user_add():
    return 'user add'
View Code

猜你喜欢

转载自www.cnblogs.com/Pythonzrq/p/12023273.html