Flask系列04--Flask的蓝图
flask蓝图
一.蓝图
蓝图(Blueprint),类似于实现django中路由分发那种感觉, 可以把Blueprint理解为不能被run的Flask对象
Blueprint实例化时需要的参数

基本使用
from flask import Blueprint
# 把Blueprint理解为 不能被 Run 的 Flask 对象
bp = Blueprint("bp",__name__,url_prefix="/user") # url_prefix是加前缀 "bp"是蓝图的名字,必须要写
@bp.route("/bp",methods=["GET","Post"])
def my_bp():
return "I am bp in user.py"
另一个示例
from flask import Blueprint # 导入 Flask 中的蓝图 Blueprint 模块
from flask import render_template sv = Blueprint(
"sv",
__name__,
template_folder="sv_template",
static_folder="sv_static" # 静态文件目录也是可以独立出来的
)
# 实例化一个蓝图(Blueprint)对象
# 每个蓝图都可以为自己独立出一套template模板文件夹,如果不写则共享项目目录中的templates @sv.route("/svlist")
def view_list():
return render_template("svlist.html")
二.蓝图结构
通过一个对学生信息在内存中进行增删改查的示例来说明蓝图结构

使用蓝图的基本结构, 其实和django中的差不多,其中
__init__.py
from flask import Flask
from .views import users,select,update,delete,add def create_app():
app = Flask(__name__) app.register_blueprint(users.users)
app.register_blueprint(select.select)
app.register_blueprint(update.update)
app.register_blueprint(delete.delete)
app.register_blueprint(add.add)
return app
manage.py
from app01 import create_app
from app01 import settings app = create_app()
app.config.from_object(settings.DebugSetting)
# app.config.from_object(settings.TestSetting) if __name__ == '__main__': app.run()
三.操作注意

在这里将模版文件夹标记,就可在pycharm中自动提示html文件了

模版语言要选择Jinja2, 否则按tab无法自动补全模版语言
Flask系列04--Flask的蓝图的更多相关文章
- Flask系列(二)Flask基础
知识点回顾 1.flask依赖wsgi,实现wsgi的模块:wsgiref(django),werkzeug(flask),uwsgi(上线) 2.实例化Flask对象,里面是有参数的 app = F ...
- Flask系列(六)Flask实例化补充及信号
一.实例化补充 instance_path和instance_relative_config是配合来用的. 这两个参数是用来找配置文件的,当用app.config.from_pyfile('setti ...
- Flask系列(三)蓝图、基于DButils实现数据库连接池、上下文管理
知识点回顾 1.子类继承父类的三种方式 class Dog(Animal): #子类 派生类 def __init__(self,name,breed, life_value,aggr): # Ani ...
- Flask系列06--(中间件)Flask的特殊装饰器 before_request,after_request, errorhandler
一.使用 Flask中的特殊装饰器(中间件)方法常用的有三个 @app.before_request # 在请求进入视图函数之前 @app.after_request # 在请求结束视图函数之后 响应 ...
- Flask系列(四)Flask实现简单页面登陆
from flask import Flask,render_template,request,redirect,session app = Flask(__name__,template_folde ...
- Flask系列(五)Flask实现分页
一.flask分页组件 from urllib.parse import urlencode,quote,unquote class Pagination(object): ""& ...
- Flask 系列之 部署发布
说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验目标 通过 Windows 的 WSL,将我们的项目网站部署到 ...
- flask --- 02. 路由, 初始化配置,蓝图
一.Flask 路由 1.添加路由的方式 ① ② 实例: ① @app.route("/my_de") def detail() ② def detail() app.add_ur ...
- Flask最强攻略 - 跟DragonFire学Flask - 第九篇 Flask 中的蓝图(BluePrint)
蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看 ...
- 【Python】Flask系列-URL和视图笔记
1.学习目标 熟悉Flask相关知识. 熟悉web开发流程. 能独立开发Flask项目. 2.环境配置 Python虚拟环境安装 因为python的框架更新迭代太快了,有时候需要在电脑上存在一个框架的 ...
随机推荐
- Rest架构风格
一.REST介绍:: 1.REST是英文 Representational State Transfer的缩写 -- 表象化状态转变 或者 表述性状态转移 1.1 REST是 Web服务的一种架构风格 ...
- jsp里面不能使用${pageContext.request.contextPath}解决方案
1.在jsp中使用${pageContext.request.contextPath}获取相对路径,可是最后路径变为:http://localhost:8080/oneself/$%7BpageCon ...
- hdu-1800(字符串hash)
题目链接:传送门 思路: 就是找最多多少个扫帚,每个扫帚上有连续递增的序列,就是找一个最多重复数字的重复次数. 由于是30位,每次用char*类型,然后用hash映射一下,排序找最多就行了. 注意: ...
- Codeforces 1060E(思维+贡献法)
https://codeforces.com/contest/1060/problem/E 题意 给一颗树,在原始的图中假如两个点连向同一个点,这两个点之间就可以连一条边,定义两点之间的长度为两点之间 ...
- java学习2打架代码编写
在同一个包中的Player类 package work; public class Player { private String name; private int hp; private int ...
- L1范式和L2范式
正则化(Regularization) 机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm和ℓ2ℓ2-norm,中文称作L1正则化和L2正则化 ...
- 工作中的小tips(持续更新)
1.在工作的时候一定要留下痕迹,这样即使乙方抵赖,或者说领导认为你没干活的时候留下证据(电话没有微信,邮件之类的文字类有效果) 2.每天晚上下班之前将一天的工作总结一下,把第二天的工作给罗列出来,以方 ...
- Shell编程-10-Shell中的数组
目录 数组基础 数组示例 数组总结 如果大家有其他语言的基础或经验,就很快能明白数组了.简单来说,数组就某一种相同类型的元素组合,而后通过下标对其进行访问各元素. 数组基础 基础语法 第一种形 ...
- CentOS 6 安装Redmine
Redmine是一个灵活的项目管理web应用,采用Ruby on Rails框架开发.Redmine是典型的web 2.0网站,项目管理系统的后起之秀.Redmine支持多项目,灵活的角色权限管理,灵 ...
- codeforces815A Karen and Game 2017-06-27 15:22 31人阅读 评论(0) 收藏
C. Karen and Game time limit per test 2 seconds memory limit per test 512 megabytes input standard i ...