首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Flask初学者:蓝图Blueprint

使用蓝图的好处是可以将不同功能作用的视图函数/类视图放到不同的模块中,可以更加方便的开发和维护 导入Blueprint:from flask import Blueprint 创建一个蓝图:例如user_bp...= Blueprint(‘user’, __name__, prefix=’/user’),第一参数指定蓝图名称,第二个参数与flask中的使用是相同的(用于指定静态文件的相对路径,也方便其他三方插件报错时定位问题...),第三个参数prefix为这个蓝图指定url前缀,这个前缀会和视图函数/类视图指定的url直接连接起来形成一个有效的url 视图函数:也是和Flask的使用一样,使用对应的route装饰器即可 注册蓝图...__,那么,使用url_for(‘static’, filename=xxx)时,就只会在项目根目录的static文件夹中查找,如果使用url_for(‘user.static’, filename=...xxx)就会在蓝图创建时static_folder参数指定的文件夹中查找 url_for反转:反转获取蓝图中的url时,必须加上蓝图名称的前缀,即便是就在该蓝图模块中使用url_for,也要加上蓝图的名称

92420

Python Web - Flask笔记4

以后使用url_for的时候,endpoint可以不写,如果不写,则默认使用视图函数的名字。...类视图 标准类视图: 标准类视图,必须继承自flask.views.View. 必须实现dipatch_request方法,以后请求过来后,都会执行这个方法。...蓝图中静态文件的查找规则: 模版文件中,加载静态文件,如果使用url_for(‘static’),那么就只会在app指定的静态文件夹目录下查找静态文件。...url_for反转蓝图中视图函数为url: 如果使用蓝图,那么以后想要反转蓝图中视图函数为url,那么就应该在使用url_for的时候指定这个蓝图。比如news.news_list。...否则就找不到这个endpoint。模版中的url_for同样也是要满足这个条件,就是指定蓝图的名字。 即使同一个蓝图中反转视图函数,也要指定蓝图的名字。 蓝图实现子域名: 使用蓝图技术。

40420
您找到你想要的搜索结果了吗?
是的
没有找到

Python全栈(七)Flask框架之5.视图高级--类视图和蓝图

文章目录 一、标准类视图及使用 1.添加url映射规则的其他方法尝试 2.标准类视图 二、基于调度方法的类视图 三、Flask蓝图的基本使用 四、Flask蓝图寻找文件和url_for()寻找路由 1....Flask蓝图寻找模板文件 2.Flask蓝图寻找静态文件 3.蓝图中使用url_for()方法获取路由 五、Flask实现子域名 一、标准类视图及使用 在前面,我们定义视图都是通过route装饰器装饰函数来定义的...,一般称之为视图函数。...类视图支持继承,但是类视图不能跟函数视图一样通过装饰器添加路由,需要通过app.add_url_rule(url_rule,view_func)来注册。...1.添加url映射规则的其他方法尝试 之前的代码中,都是通过@app.route装饰器来实现url

44160

Flask阶段(一)代码

import Flask #创建flask对象 app = Flask(__name__) #绑定路由和视图函数之间的映射关系 @app.route('/') def index():...- 解释: 称为反解析,返回的是视图函数对应的路由地址 - 格式: url_for('视图函数',key=value) """ from flask import Flask, url_for,...,顺带执行的方法 - 常见的请求钩子有四种: - 1.before_first_request:处理第一个请求前执行 - 2.before_request:每次请求前执行,该装饰函数中,一旦return...,视图函数不再执行 - 3.after_request:如果没有抛出错误,每次请求后执行 接受一个参数:视图函数作出的响应 在此函数中可以对响应值...,返回之前做最后一步处理,再返回 - 4.teardown_request:每次请求后执行 接受一个参数:用来接收错误信息 """ from flask import Flask app =

44320

Flask框架之博客的发布和编辑

上一篇文章我们介绍了一分钟快速实现Flask框架的蓝图和视图,这一篇文章我们将接着介绍博客的发布以及编辑。同样是运用视图和蓝图。...关于session的设置 用户登录 在其他视图中验证 博客蓝图设置 首页 发布文章 文章修改接口 运行效果图 登录前 登录后 总结 关于session的设置 首先需要引入Flask-Session的库。...Flask-Session==0.3.2 这里是将Session保存到本地。所以,我们需要实例化app时,设置session,代码地址:flaskr/__init__.py。...每个请求的开头,如果用户已登录,那么其用户信息应当被载入,以使其可用于其他视图。...在其他视图中验证 装饰器返回一个新的视图,该视图包含了传递给装饰器的原视图,新的函数会检查用户是否已经载入,如果已载入,那么就继续正常执行原视图,否则就重定向到登录页面。

27830

flask的Blueprint,前后台蓝图注册

文件结构 创建一个shizhan文件夹,根据flask的文件结构,shizhan里面创建app文件夹,其他如下的结构 ├── app │   ├── __init__.py │   ├── admin...__init__.py为初始化文件,文件夹内,表示属于一个包(我这么叫) manage.py为启动文件 代码逻辑 定义前后台蓝图 以admin的为例,admin文件夹中 __init__.py...,如上面的url_prefix="/admin",这样,我们admin、home中的views.py中就可以直接写其他的路由了,不用再判断是否再/admin之类的 这样,前后台的蓝图就搞定了 视图编写...# coding:utf8 from . import admin # from flask import render_template, redirect, url_for @admin.route...("/") def index(): return "这是管理页面" 注意: 蓝图中定义了前台蓝图名字是home,后台的为admin,所以写路由的装饰器的时候,是以他们为首的,比如@

69240

flask的Blueprint,前后台蓝图注册

我使用的是python3.6 文件结构 创建一个shizhan文件夹,根据flask的文件结构,shizhan里面创建app文件夹,其他如下的结构 ├── app │ ├── __init__...init.py为初始化文件,文件夹内,表示属于一个包(我这么叫) manage.py为启动文件 代码逻辑 定义前后台蓝图 以admin的为例,admin文件夹中 __init__.py中代码如下:...,如上面的url_prefix="/admin",这样,我们admin、home中的views.py中就可以直接写其他的路由了,不用再判断是否再/admin之类的 这样,前后台的蓝图就搞定了 视图编写...# coding:utf8 from . import admin # from flask import render_template, redirect, url_for @admin.route...("/") def index(): return "这是管理页面" 注意: 蓝图中定义了前台蓝图名字是home,后台的为admin,所以写路由的装饰器的时候,是以他们为首的,比如@

1.9K100

Python超级明星WEB框架Flask

这 或许体现了pocoo与Django竞争时关于生态的一种策略,这种策略的自然 延伸是Flask框架中没有包含数据库方面的构件,无论ORM还是其他。...如何避免硬编码指向其他视图的URL? 注册路由 Flask应用中,路由是指用户请求的URL与视图函数之间的映射。...Flask框架 根据HTTP请求的URL路由表中匹配预定义的URL规则,找到对应的视图函数, 并将视图函数的执行结果返回WSGI服务器: ? 可见路由表Flask应用中处于相当核心的位置。...这没错,但是 Flask框架中,请求任务的分发并不是直接从用户请求的URL一步定位到视图函数, 两者之间隔着一个访问点/endpoint。...|  +------------------------------------------------------------+ 构造URL 一个实用的视图中,不可避免地存在指向其他视图的链接。

1.4K20

Flask框架(二)

二、flask中间件 flask的中间件的性质,就是可以理解为整个请求的过程的前后定制一些个性化的功能。...3.2.4url_for()翻转蓝图 视图中翻转url: url_for('创建蓝图时第一个参数.蓝图下的函数名') # 如: url_for('user.login') 模板中翻转url: {{ url_for...3.2.6蓝图中使用自己请求扩展 图中我们可以利用创建好的蓝图对象,设置访问蓝图的视图函数的时候触发蓝图独有的请求扩展。...加锁的思路是多个线程要真正实现共用一个数据,并且该线程修改了数据之后会影响到其他线程,更适合类似于12306抢票的应用场景,而我们是要做请求对象的并发,想要实现的是该线程对于请求对象这部分内容有任何修改并不影响其他线程...我们的flask中为了这种并发需求,依赖于底层的werkzeug外部包,werkzeug实现了保证多线程和多携程的安全,werkzeug基本的设计理念和上一个案例一致,唯一的区别就是导入的时候做了一步处理

93620

Python超级明星WEB开发框架Flask简明教程

这 或许体现了pocoo与Django竞争时关于生态的一种策略,这种策略的自然 延伸是Flask框架中没有包含数据库方面的构件,无论ORM还是其他。...如何避免硬编码指向其他视图的URL? 注册路由 Flask应用中,路由是指用户请求的URL与视图函数之间的映射。...Flask框架 根据HTTP请求的URL路由表中匹配预定义的URL规则,找到对应的视图函数, 并将视图函数的执行结果返回WSGI服务器: ? 可见路由表Flask应用中处于相当核心的位置。...这没错,但是 Flask框架中,请求任务的分发并不是直接从用户请求的URL一步定位到视图函数, 两者之间隔着一个访问点/endpoint。...| +------------------------------------------------------------+ 构造URL 一个实用的视图中,不可避免地存在指向其他视图的链接。

1.7K20

Flask 集成 flask-restful

库中的 url_for() 来解析 url 路径,示例代码如下: from flask_restful import url_for # 导入flask_resutful的url,注意不是 flask...设置认证修饰器 之前我们使用函数写视图方法的时候,是比较方便写一些修饰器的,那么如果我们需要给 类视图资源 设置修饰器,该怎么办呢?...print("=====执行自定义装饰器==========") return view_func(*args, **kwargs) return wrapper 6.2 资源视图类添加使用修饰器...注意:图中,如果使用Flask_RESTful,那么创建Api对象的时候,使用蓝图对象,不再是使用app对象了. 1.创建一个 admin 的蓝图应用 from flask_restful import...的 Api 创建是需要 flask 的 app 的,这里就采用 蓝图对象 而已,其他使用上没有什么区别。

79010

测试开发:10分钟Flask快速入门!

“微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 Flask 功能上有所欠缺。...# 但是Flask中还有其他参数,以下是可填的参数,及其默认值 def __init__(self, import_name, static_path=None, static_url_path=None..."index2" 3.自定制正则路由匹配 扩展Flask的路由系统,让他支持正则,这个类必须这样写,必须去继承BaseConverter from flask import Flask,url_for...它允许你不同请求间存储特定用户的信息。它是 Cookies 的基础上实现的,并且对 Cookies 进行密钥签名要使用会话,你需要设置一个密钥。...Blueprint("order",__name__) @order.route('/order') def register(): return "order 中大型项目结构: 注意:蓝图中视图函数的名字不能和蓝图对象的名字一样

44430

flask基础之一

Flask(__name__) app.config.from_pyfile('config.py',silent=True) #静默模式加载配置文件(找不到配置文件不报错),文件的后缀名不可少 url...与视图函数的映射 传递参数: 传递参数的语法是//,然后视图函数中也要定义同名的参数 参数的数据类型 string:只接受字符串,没有任何“/或者”的文本 int:只接受整数...,跟app.route相反 URL的更新大于视图函数,所以大规模项目中比较实用 * 基本使用 : url_for的第一个参数是视图函数的函数名对应的字符串(endpoint),后面的参数就是你传递给...url;如果传递的参数url中已经定义了,那么这个参数就会被当成path的值传递给url;如果这个参数没有url中定义,那么将变成查询字符串的形式 from flask import Flask,url_for...flask中,重定向是通过flask.redirect(location,code=302)这个函数来实现的,location指的是需要重定向到的URL,应该配合之前讲过的url_for()来是用。

71020

Hello Flask

Flask被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。...()获取url 当视图函数绑定的路由发送改变时,我们可能在其他使用该路径的地方一个一个手动修改,这种硬编码的方式降低了代码的易用性,这种情况可以使用url_for()函数来获取url url_for()...函数的参数为视图函数名,也可以路由的装饰器中指定endpoint参数设置别名 例如 @app.route('/index') def aaa(): 那么url_for(’aaa‘)就是’/index’...request对象 from flask import Flask,request 视图函数中可以直接通过request获得属性或方法 举个简单的例子 @app.route('/index/<int:...请求钩子 请求钩子是视图函数处理请求的前或者后的阶段进行的处理函数 Flask默认实现的五种请求钩子: before_first_request 处理第一个请求之前 before_request

1.4K30

1.Flask URL和视图

1.1.第一个flask程序 from flask import Flask #创建一个Flask对象,传递__name__参数进去 app = Flask(__name__) #url与视图映射 @...(port=5001) 1.2.debug模式 作用: 如果抛出异常,浏览器中可以看到具体错误信息 修改代码后,只要按“ctrl+s”,就会自动重启项目,不用手动重新运行 四种配置方式 第一种 if...1.5.url_for的使用 (1)通过视图函数解析出url from flask import Flask,url_for @app.route('/') def hello_world():...return url_for('my_list',page=2) #url_for里面:第一个是视图函数,第二个是url需要的参数 @app.route('/list//') def...(2)通过类的继承实现多个视图返回json数据 from flask import Flask,url_for,views,jsonify app = Flask(__name__) app.config.update

45420

Flask框架的蓝图与视图

接上一篇文章,上篇文章我们介绍了Flask框架与SQLAlchemy框架的整合一分钟快速实现Flask框架与SQLAlchemy框架的整合,这篇文章我们将介绍Flask框架的蓝图和视图。 ?...文章目录 视图 创建蓝图 定义蓝图 将蓝图注册到应用中 使用蓝图 注册接口 登录接口 运行 总结 视图 视图是一个应用对请求进行响应的函数。Flask通过模型把进行的请求URL匹配到对应的处理视图。...视图返回数据,Flask把数据变成出去的响应。Flask也可以反过来,根据视图的名称和参数生成URL。 创建蓝图 Blueprint是一种组织一组相关视图其他代码的方法。...与把视图其他代码直接注册到应用的方式不同,蓝图方式是把它们注册到蓝图,然后工厂函数中把蓝图注册到应用中。 项目的结构和环境跟上一篇文章一致。 定义蓝图 下面的代码就是定义了一个名为auth的蓝图。...总结 本文介绍了如何使用Flask框架中的蓝图和视图,蓝图Flask框架中使用也比较广泛。 ?----

49620
领券