前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FLask中蓝图(用于分文件)

FLask中蓝图(用于分文件)

作者头像
小小咸鱼YwY
发布2020-06-19 15:55:01
4750
发布2020-06-19 15:55:01
举报
文章被收录于专栏:python-爬虫

一,不使用蓝图,自己分文件

目录结构

代码语言:javascript
复制
-templates
-views
	-__init__.py
    -user.py
    -order.py
-app.py

app.py

代码语言:javascript
复制
from views import app
if __name__ == '__main__':
    app.run()

init.py

代码语言:javascript
复制
from flask import Flask,request
app = Flask(__name__)
#不导入这个不行
from . import account
from . import order
from . import user

user.py

代码语言:javascript
复制
from . import app
@app.route('/user')
def user():
    return 'user'

order.py

代码语言:javascript
复制
from . import app
@app.route('/order')
def order():
    return 'order'

注意点:只有是包的时候才能from.然后import 相对路径进行导入

缺点

容易发生循环导入问题

二.使用蓝图之中小型系统

详见代码点击可以下载

目录结构:

代码语言:javascript
复制
-flask_pro
	-flask_test
    	-__init__.py
    	-static
        -templates
        -views
        	-order.py
            -user.py
     -manage.py 

_init.py

代码语言:javascript
复制
from flask import  Flask
app=Flask(__name__)
from flask_test.views import user
from flask_test.views import order
app.register_blueprint(user.us)            #注册蓝图app.register_blueprint(蓝图的对象)   
app.register_blueprint(order.ord)

manage.py

代码语言:javascript
复制
from flask_test import  app
if __name__ == '__main__':
    app.run(port=8008)

user.py

代码语言:javascript
复制
from flask import Blueprint
us=Blueprint('user',__name__)   #蓝图的对象的名称=Blueprint('自定义蓝图名称',__name__) 

@us.route('/login')
def login():
    return 'login'

order.py

代码语言:javascript
复制
from flask import Blueprint
ord=Blueprint('order',__name__)

@ord.route('/test')
def test():
    return 'order test'

三.使用蓝图之大型系统

详见代码点击可以下载

四.总结

1 xxx = Blueprint('account', __name__,url_prefix='/xxx')

url_prefix:蓝图URL前缀,表示url的前缀,在该蓝图下所有url都加前缀

2 xxx = Blueprint('account', __name__,url_prefix='/xxx',template_folder='tpls')

template_folder:给当前蓝图单独使用templates,向上查找,当前找不到,会找总templates

3 蓝图的befort_request,对当前蓝图有效

4 大型项目,可以模拟出类似于django中app的概念

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一,不使用蓝图,自己分文件
    • 目录结构
      • 缺点
      • 二.使用蓝图之中小型系统
        • 目录结构:
        • 三.使用蓝图之大型系统
        • 四.总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档