Python全栈:flask的blueprint蓝图使用

简介: Python全栈:flask的blueprint蓝图使用

Flask的 app 和 Blueprint蓝图 就好比 Django 的project 和 app, 可以使应用模块化

flask最小框架

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
    return 'Hello World!'
if __name__ == '__main__':
    app.run()

定义蓝图

# api/main.py
from flask import Blueprint
app_api = Blueprint(name="app_api", import_name=__name__)
@app_api.route("/")
def show():
    return "<h1>hello world app_api<h1>"

注册蓝图

在最小框架中修改

# run.py
from flask import Flask
# 引入蓝图文件
from demo.api.main import app_api
app = Flask(__name__)
@app.route('/')
def hello_world():
    return '<h1>Hello World! index<h1>'
# 注册蓝图
app.register_blueprint(blueprint=app_api, url_prefix='/api')
if __name__ == '__main__':
    app.run(host="127.0.0.1", port=5002)

访问测试:

http://127.0.0.1:5002/ -》 Hello World! index

http://127.0.0.1:5002/api/ -》 hello world app_api

so eazy!!!


静态文件和模板文件

在定义蓝图中修改

app_api = Blueprint(name="app_api", import_name=__name__,
                    static_folder='static',  # 静态文件
                    template_folder='templates'  # 模板文件夹
        )

重定向

run.py 文件中修改

@app.route('/hello')
def hello():
    return redirect(url_for("app_api.hello_world"))

404

run.py 文件中修改

@app.errorhandler(404)
def page_not_found(e):
    return "<h1>404<h1>"

参考文章:

使用蓝图的模块化应用

相关文章
|
7月前
|
SQL 数据库 开发者
Python中使用Flask-SQLAlchemy对数据库的增删改查简明示例
这样我们就对Flask-SQLAlchemy进行了一次简明扼要的旅程,阐述了如何定义模型,如何创建表,以及如何进行基本的数据库操作。希望你在阅读后能对Flask-SQLAlchemy有更深入的理解,这将为你在Python世界中从事数据库相关工作提供极大的便利。
662 77
|
11月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
6月前
|
Linux 数据库 数据安全/隐私保护
Python web Django快速入门手册全栈版,共2590字,短小精悍
本教程涵盖Django从安装到数据库模型创建的全流程。第一章介绍Windows、Linux及macOS下虚拟环境搭建与Django安装验证;第二章讲解项目创建、迁移与运行;第三章演示应用APP创建及项目汉化;第四章说明超级用户创建与后台登录;第五章深入数据库模型设计,包括类与表的对应关系及模型创建步骤。内容精炼实用,适合快速入门Django全栈开发。
253 1
|
7月前
|
数据采集 自然语言处理 Java
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
本文以反面教材形式,剖析了在使用 Playwright 爬取懂车帝车友圈问答数据时常见的配置错误(如未设置代理、Cookie 和 User-Agent),并提供了 Python、Java 和 .NET 三种语言的修复代码示例。通过错误示例 → 问题剖析 → 修复过程 → 总结教训的完整流程,帮助读者掌握如何正确配置爬虫代理及其它必要参数,避免 IP 封禁和反爬检测,实现高效数据采集与分析。
416 3
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
675 86
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
294 2
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
535 2
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
290 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
314 104

推荐镜像

更多