【python】flask+blueprints模块化架构
来源:互联网 发布:linux删除整个文件夹 编辑:程序博客网 时间:2024/06/06 09:42
注册路由
在Flask应用中,路由是指用户请求的URL与视图函数之间的映射。Flask框架 根据HTTP请求的URL在路由表中匹配预定义的URL规则,找到对应的视图函数, 并将视图函数的执行结果返回WSGI服务器:
Blueprint 的概念
Blueprint 是一个存储操作方法的容器,这些操作在这个Blueprint 被注册到一个应用之后就可以被调用与招待,Flask 可以通过Blueprint来组织URL以及处理请求
简单的 Blueprint 示例
sample.py文件
from flask import Blueprint sample = Blueprint('sample',__name__) @sample.route('/') @sample.route('/hello') def index(): return "This page is a blueprint page"
在 app 应用中注册我们的Blueprint:app.py
from flask import Flaskfrom sample import sampleapp = Flask(__name__)app.register_blueprint(sample)if __name__ == "__main__": app.run()
上面的代码在一个名为 app 的应用中注册一个名为 sample 的Blueprint,现在我们运行这个应用,则可以通过我们在Blueprint中定义的方法来访问它并获得 This page is a blueprint page的返回结果
如果希望所有的 Blueprint 的请求都基于某一个固定的URL之后
可以在注册的时候指定其根路径的URL,比如我们想使用 http://127.0.0.1:5000/sample 这个地址来访问 sample 这个 Blueprint,刚可以使用下面这样的注册方法:
app.register_blueprint(sample,url_prefix='/sample')
模块化
关于模块化,让一个实例
├── deviceState #设备状态信息│ ├── __init__.py│ ├── route.py #路由│ └── views.py #视图文件├── user #用户功能目录│ ├──__init__.py│ ├── models.py #用户数据库结构文件│ └── views.py #用户视图配置文件├── config.py #公共配置文件├── requirements.txt #需要的安装包├── run.py #主运行文件├── static #静态文件目录,css,js, image等└── templates #静态页面存放目录 ├── asset #asset功能模块页面存放目录 │ └── index.html ├── index.html #首页 └── user └── index.html
run.py主运行文件配置
#!flask/bin/pythonfrom flask import Flaskfrom deviceState import stateapp = Flask(__name__,)app.register_blueprint(state)if __name__ == "__main__": app.run(host='0.0.0.0', port=5000, debug=None)
deviceState 功能模块配置
- init.py文件配置
from flask import Blueprintstate=Blueprint('deviceState',__name__,)from deviceState import route
2.route.py文件配置
rom flask import requestfrom deviceState import state@state.route('/', methods=['GET', 'POST'])def home(): return '<h1>Home</h1>'@state.route('/signin', methods=['GET'])def signin_form(): return '''<form action="/signin" method="post"> <p><input name="username"></p> <p><input name="password" type="password"></p> <p><button type="submit">Sign In</button></p> </form>'''
阅读全文
0 0
- 【python】flask+blueprints模块化架构
- Python Flask(六) 大型网站架构
- Android Architecture Blueprints(架构蓝图)
- Python基于flask架构的json串处理
- flask(python)
- Python Flask
- python+flask
- python flask
- Android Architecture Blueprints----安卓架构详细分析
- Flask 用Blueprint实现模块化的应用
- 聊聊架构-模块化
- iOS架构--项目模块化
- Flask-REST架构
- python flask mysql-python
- Ubuntu下使用Python+flask+MySQL的架构搭建Web框架
- Python学习笔记--模块化
- Python的模块化
- 初学python:模块化编程
- 股票量化分析(13)——直线拟合、曲线拟合、方差计算
- ssm java.lang.NullPointerException
- Android studio 窗口切换的快捷键
- Android源码下载(包括最新8.0版本)
- iptables防火墙操作
- 【python】flask+blueprints模块化架构
- PullToRefreshScrollView的使用
- c3p0配置
- 机器学习之-利用svm(支持向量机)分类(opencv3)
- WEB请求过程
- 自定义tableview索引,字母搜索
- 打印九九乘法表
- eclipse安装阿里巴巴插件
- 快速排序