Flask蓝图基本使用

Flask通过使用蓝图将视图函数模块化,使应用显得更加规整

比如我们的应用的视图函数包括用户相关和文章相关,那么我们可以通过建立两个py文件分别存储两类视图函数

user.py:


from flask import Blueprint
from flask import render_template
from flask import request user = Blueprint('user', __name__) @user.route('/login', methods=['GET', "POST"])
def login():
return render_template('login.html')

article.py:


from flask import Blueprint
from flask import render_template
from flask import request article = Blueprint('article', __name__) @article.route('/article', methods=['GET'])
def login():
return render_template('article.html')

此时将这两个py文件放入同一个叫做app的包中并添加init文件:


from flask import Flask
from .article import article
from .user import user app = Flask(__name__)
app.debug = True app.register_blueprint(article)
app.register_blueprint(user)

在init文件中相当于完成了蓝图的注册

然后在app包中添加templates文件夹来存放模板文件

最后在app包外添加run.py


from app import app if __name__ == '__main__':
app.run()

执行run文件即可启动flaskapp

这里的蓝图对象的创建还有其他的参数:


user = Blueprint(
'user',
__name__,
url_prefix='/user' # 该蓝图下的url前面都加上user/
subdomain='user' # 匹配子域名
template_folder='templates', # 自定义的模板文件夹,从同级目录找
static_folder='static' # 自定义的静态文件文件夹,从同级目录找 )
​

Flask蓝图基本使用的更多相关文章

  1. Flask 蓝图(Blueprint)

    蓝图使用起来就像应用当中的子应用一样,可以有自己的模板,静态目录,有自己的视图函数和URL规则,蓝图之间互相不影响.但是它们又属于应用中,可以共享应用的配置.对于大型应用来说,我们可以通过添加蓝图来扩 ...

  2. flask 蓝图

    转自:http://spacewander.github.io/explore-flask-zh/7-blueprints.html 蓝图 什么是蓝图? 一个蓝图定义了可用于单个应用的视图,模板,静态 ...

  3. Flask蓝图目录、Flask-SQLAlchemy、Flask-Script、Flask-Migrate

    一.Flask蓝图目录 我们之前写的Flask项目都是自己组织的目录结构,其实Flask官方有其推荐的目录结构,以下就是一个符合官方推荐的Flask小型应用的项目结构目录示例,如下: 如图,这就是我们 ...

  4. Flask蓝图的增删改查

    怎样用flask蓝图来实现增删改查呢?请看下面的内容 这是我们的目录结构 从图中可以看出每一个功能都有一个各自的文件夹 首先我们要自己先来创建一个数据,在Flask_data.py中写入如下内容: S ...

  5. Flask蓝图遇到的问题

    欢迎加入python学习交流群 667279387 最近在使用flask开发一个业余学习项目,由于之前都是"小打小闹",整个程序都是放在一个文件夹里面的,也没有注意这个问题.这次项 ...

  6. Flask蓝图Blueprint和特殊装饰器

    Flask 中的 蓝图 Blueprint 不能被run的flask实例:相当于django中的app01 应用 蓝图作用:功能隔离 路由隔离 Blueprint就是 一个不能run的flask 蓝图 ...

  7. Flask 蓝图进行路由分发.md

    Flask 蓝图进行路由分发 Flask虽然说是一个轻型web框架,但也总不能用一个py文件写完全部view吧,所以我们要把路由分到不同的py文件中.这就需要用到蓝图了. 一 创建一个py文件 用于处 ...

  8. Flask 蓝图(Blueprint)使用方式解析

    Flask蓝图提供了模块化管理程序路由的功能,使程序结构清晰.简单易懂.下面分析蓝图的使用方法 假如说我们要为某所学校的每个人建立一份档案,一个很自然的优化方式就是这些档案如果能分类管理,就是说假如分 ...

  9. 测试平台系列(4) 使用Flask蓝图(blueprint)

    使用Flask蓝图(blueprint) 回顾 先来看一下上一篇的作业吧,使用「logbook」的时候,遇到了时区不对的情况.那么我们怎么去解决这个问题呢? 实际上logbook默认采用的是世界标准时 ...

随机推荐

  1. tomcat调优配置

    今天遇到一个tomcat服务注册后配置Java参数没效果,最后在注册表中删除原来的tomcat服务后,顺便看了一下tomcat的调优配置,看别人总结的不错,就转载一下. Tomcat.Jetty.Gl ...

  2. [noip模拟赛]算算数

    https://www.zybuluo.com/ysner/note/1298755 题面 有一天小胡同学看到了一种表达式.这个表达式有四个变量\(A,B,C,D\).这四 个变量都只有\(0\)和\ ...

  3. Java 泛型 五:泛型与数组

    简介 上一篇文章介绍了泛型的基本用法以及类型擦除的问题,现在来看看泛型和数组的关系.数组相比于Java 类库中的容器类是比较特殊的,主要体现在三个方面: 数组创建后大小便固定,但效率更高 数组能追踪它 ...

  4. python 之filter()函数

    filter()函数是 Python 内置的另一个有用的高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filt ...

  5. HTML5来了,7个混合式移动开发框架

    在这个时间开始学习移动开发真是最好不过了,每个人应该都有一些移动应用的创意,而且你并不需要任何的原生应用编程经验,你只需要一些HTML的相关知识,懂一些CSS和JavaScript就够了.如果你总听别 ...

  6. bzoj4720: [Noip2016]换教室(期望dp)

    4720: [Noip2016]换教室 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 1294  Solved: 698[Submit][Status ...

  7. Akka源码分析-Cluster-Singleton

    akka Cluster基本实现原理已经分析过,其实它就是在remote基础上添加了gossip协议,同步各个节点信息,使集群内各节点能够识别.在Cluster中可能会有一个特殊的节点,叫做单例节点. ...

  8. WKWebView 和 UIWebView 允许背景音乐自动播放(记录)

    WKWebView WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init]; config.allowsInlin ...

  9. 题解报告:poj 1321 棋盘问题(dfs)

    Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...

  10. E - Cheap Kangaroo(求多个数的最大公约数)

    Description There are N kangaroos going out to eat at an Indian restaurant. The ith kangaroo wants t ...