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

Flask入门第三天

在 Flask-SQLAlchemy 中,查询操作是通过 query 对象操作数据。 最基本的查询是返回表中所有数据,可以通过过滤器进行更精确的数据库查询。   ...User.query.all() filter模糊查询,返回名字结尾字符为g的所有数据。...查询角色的所有用户 #查询roles表id为1的角色 ro1 = Role.query.get(1) #查询该角色的所有用户 ro1.us.all() 查询用户所属角色 #查询users表id为3的用户...  1,模块化 随着flask程序越来越复杂,我们需要对程序进行模块化的处理,之前学习过python的模块化管理,于是针对一个简单的flask程序进行模块化处理 简单来说,Blueprint 是一个存储操作方法的容器...下面的示例将为 static_admin 文件夹的路由设置为 /lib admin = Blueprint("admin",__name__,static_folder='static_admin',static_url_path

2.7K20

flask中的蓝图实现模块化的应用

Flask 用 蓝图(blueprints) 的概念来在一个应用中或跨应用制作应用组件和支持通用的模式。蓝图很好地简化了大型应用工作的方式,并提供给 Flask 扩展在应用上注册操作的核心方法。...一个 Blueprint 对象与 Flask 应用对象的工作方式很像,但它确实不是一个应用,而是一个描述如何构建或扩展应用的 蓝图 。 二.蓝图的使用场景。   ①把一个应用分解为一个蓝图的集合。...②以 URL 前缀和/或子域名,在应用上注册一个蓝图。 URL 前缀/子域名中的参数即成为这个蓝图下的所有视图函数的共同的视图参数(默认情况下)。   ...      app.register_blueprint(admin,url\_prefix='/admin') 当这个应用启动后,通过/admin/可以访问到蓝图中定义的视图函数 四.运行机制。...下面的示例将为 static_admin 文件夹 的路由设置为 /lib admin = Blueprint("admin",__name__,static_folder='static_admin'

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

    tips

    不管是否发生异常都会执行它下面的函数 after_request 不会执行 用作记录日志 errrorhandler 捕获错误并处理 提示或者返回其他页面 绑定错误的状态码 全局的标签和全局过滤器...__call__() --> self.wsgi_app() 自定义就是继承原来的的wsgi 调用的还是以前的,只不过在他上面或者下面写点东西 猴子补丁:只是一个概念,不属于任何包和模块...import monkey flask 蓝图 blueprint 没有蓝图之前都是单文件 有了蓝图之后都是 路由分发 from flask import Blueprint...order=Blueprint() 蓝图对象 蓝图对象注册路由 __init__.py 注册 注册蓝图对象 app.register_blueprint(蓝图对象) 先注册后使用...(obj, url_prefix='/admin') 路由分发 路由前缀 伪静态 就是路由中加入 xxx.html cbv 对象调 是方法 类来调是函数 function

    77100

    轻量级 Python Web 框架 Flask2.0 版本即将发布

    下面是 Flask 新版本的一些 changelog: 支持 Python 3.6+ (放弃 Python 2 和 3.5 支持) JSON 支持不再使用 simplejson,要使用另外一个 JSON...当加载 .env 或 .flaskenv 文件时,当前工作目录不再改为文件的位置 - pr:3560。...请求上下文在打开会话之前会进行路由匹配,这可能允许会话接口根据 request.endpoint 改变行为。 使用 Jinja 实现的 |tojson 过滤器 - issue:3881。...支持异步视图(可选择安装 flask[async]),允许使用 async 路由处理程序、错误处理程序、请求前/请求后 为常见的 HTTP 方法添加路由装饰符,如@app.get、@app.post等...支持嵌套蓝图,blueprint.register_blueprint(another_blueprint) helpers.total_seconds() 已经过时,请使用 timedelta.total_seconds

    1.3K30

    Flask框架重点知识总结回顾

    ,它会指向程序所有的包 app = Flask(__name__) # 配置对象,里面定义需要给APP添加的一系列配置 class Config(object): DEBUG = True #...2.路由定义 2.1指定请求方式 methods,它有很多参数,但是我们需要掌握最常用的两个 1.GET是请求,浏览器第一次请求的时候是此get请求 2.POST是提交,这种方式更加的安全,所有的信息是打包进行提交的...7.模板 7.1自定义过滤器 有两种形式,一种是先定义函数,再添加到过滤器列表中,另一种是装饰器的形式.重点掌握第一种. # 先定义一个函数 def do_listreverse(li): # 通过原列表创建一个新列表...temp_li = list(li) # 将新列表进行反转 temp_li.reverse() return temp_li # 第一个参数是上面定义的函数名, # 第二个参数是过滤器的名字...8.数据库 点我查看详细知识点 8.1Flask中使用数据库 8.1.1Flask-SQLAlchemy SQLAlchemy是对数据库的抽象,让我们不用直接和SQL语句打交道,而是通过python对象来操作数据库

    1.2K20

    Flask(9)- 蓝图的基本使用

    前言 在前面的例子中,所有的页面处理逻辑都是放在同一个文件中,随着业务代码的增加,将所有代码都放在单个程序文件中是非常不合适的 不仅会让阅读代码变得困难,而且会给后期维护带来麻烦 Flask 中使用蓝图...,提供了模块化管理程序路由的功能,使程序结构更加清晰 蓝图简介 随着 Flask 程序越来越复杂,需要对程序进行模块化的处理 蓝图 (Blueprint) 是 Flask 程序的模块化处理机制 它是一个存储视图方法的集合...更具扩展性的架构 概述 随着业务代码的增加,需要为 Flask 程序提供一个具备扩展性的架构,根据 Flask 程序的扩展性分为如下三种类型: 1、所有的页面逻辑放在同一个文件中 在这种架构中,程序完全不具备扩展性...在初学 Flask 时,使用的栗子都是这种类型 2、使用一个独立的 Python 文件实现蓝图 在这种架构中,程序具备一定的扩展性: 程序由主程序和多个蓝图构成 每个蓝图对应一个 Python 文件...template_folder:包含模板文件的文件夹,路径以蓝图文件为根路径开始找 url_prefix:会作为蓝图所有路由的前缀路径 subdomain:蓝图路由将匹配的子域 url_defaults

    88420

    蓝图(Blueprint)详解

    Blueprint 模块化 随着flask程序越来越复杂,我们需要对程序进行模块化的处理,针对一个简单的flask程序进行模块化处理 举例来说: 我们有一个博客程序,前台界面需要的路由为:首页,列表,详情等页面...Flask使用Blueprint让应用实现模块化,在Flask中,Blueprint具有如下属性: 一个应用可以具有多个Blueprint 可以将一个Blueprint注册到任何一个未使用的URL下比如...admin=Blueprint('admin',__name__)  2,在这个蓝图对象上进行操作,注册路由,指定静态文件夹,注册模版过滤器 @admin.route('/') def admin_home...,通过/admin/可以访问到蓝图中定义的视图函数 运行机制 蓝图是保存了一组将来可以在应用对象上执行的操作,注册路由就是一种操作 当在应用对象上调用 route 装饰器注册路由时,这个操作将修改对象的...下面的示例将为 static_admin 文件夹的路由设置为 /lib admin = Blueprint("admin",__name__,static_folder='static_admin',static_url_path

    90530

    Flask基础入门学习笔记-1

    Flask 核心特性就是”微”,而微框架中的“微”字表示 Flask 的目标是保持核心简单而又可扩展(从零开始由你做主),所有并不是说它不适用于大型项目; Flask 官方网站: http://flask.pocoo.org...用于提供 flask 命令,并允许添加自定义 管理命令。)...4.在路由下编写路由函数并返回响应字符串 5.通过对象实例的run()方法启动Flask项目 (1) 小试牛刀 示例1.初始化Flask项目之hello_world.py #!...Blueprint 描述:动态路由依赖于 Blueprint 蓝图在使用前必须进行安装该模块pip install flask-buleprint,并且在使用的时候进行初始化即创建蓝图对象; 使用和Flash...描述:Jinja2中全套模板引擎中大概有400多个过滤器; 基础语法: # syntax: {{ 变量|过滤器|过滤器 }} # 可用过滤器函数 capitalize # 驼峰命名法 default

    1.6K10

    Flask基础入门学习笔记-1

    Flask 核心特性就是”微”,而微框架中的“微”字表示 Flask 的目标是保持核心简单而又可扩展(从零开始由你做主),所有并不是说它不适用于大型项目; Flask 官方网站: http://flask.pocoo.org...用于提供 flask 命令,并允许添加自定义 管理命令。)...Blueprint 描述:动态路由依赖于 Blueprint 蓝图在使用前必须进行安装该模块pip install flask-buleprint,并且在使用的时候进行初始化即创建蓝图对象; 使用和Flash...描述:Jinja2中全套模板引擎中大概有400多个过滤器; 基础语法: # syntax: {{ 变量|过滤器|过滤器 }} # 可用过滤器函数 capitalize # 驼峰命名法 default...作用于数据序列化方便于前后端分离; 缓存Jinja2片段 # 语法 {% cache [timeout [,[key1, [key2, ...]]]] %} ... {% endcache %} # 设置超时为无没有超时而是使用自定义键

    1.7K10

    记录一次关于python-flask蓝图的坑

    记录一次关于python-flask蓝图的坑 一.简介 二.特色 三.flask规模化 四. flask Blueprint ---- 一.简介 Flask是一个使用Python编写的轻量级Web应用框架...: from flask import Flask app = Flask(__name__) @app.route("/") #定义路由地址 def hello(): return...#return为这个定义的函数所返回的信息 if __name__ == "__main__": #这里可以直接写app.run,但不规范,简单理解,name中有个“接口”,main是这个接口的启动地址...app.run() 而运行它也很简单: python hello.py ---- 三.flask规模化 轻量有轻量的好处,重有重的好处,我个人喜欢简单,所以学习python web就直接flask...我们都知道一个web应用都需要“路由”功能,来连接寻找我们请求的地址,这个路由可能是静态或动态的,但功能都是通过前端用户访问的URL来返回前端所需要的信息,如上述代码,可以在app.py中定义多个路由,

    4.4K230

    Flask 系列之 Blueprint

    说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验目标 学习如何使用 Blueprint 介绍 接触过 DotNet...对于 Flask 来说,当我们的项目达到一定级别的话,可以尝试将我们的项目进行模块化设计,那么对应的路由我们也应该通过某种方式来进行统一管理和配置,这个时候就可以使用 Blueprint 来解决。...,执行下述操作: mkdir flask_bp python -m viratulenv venv venv\Scripts\activate pip install flask code ....定义 app\home  init.py 的示例代码如下所示: from flask import Blueprint bp = Blueprint('home', __name__) from ....需要说明的一点时,由于我们引入了模块化的编程方式,所有可能存在模块与模块之间循环引入的问题,如果出现这种情况的话,我们的某些自定义模块就无法成功导入,这个时候我们可以尝试在某一函数段进行局部导入,这样就可以了

    69220

    小白学Flask第十四天 | 一文带你彻底了解蓝图是啥!

    小白学Flask第四天| 把路由转换器玩的更牛逼 小白学Flask第五天 | 详解很重要的request对象 小白学Flask第六天| abort函数、自定义错误方法、视图函数的返回值 小白学Flask...我们学习Flask框架,是从写单个文件,执行hello world开始的。我们在这单个文件中可以定义路由、视图函数、定义模型等等。...但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。...python中的模块制作和导入就是基于实现功能模块的封装的需求。 尝试用模块导入的方式解决: 我们把上述一个py文件的多个路由视图函数给拆成两个文件:app.py和admin.py文件。...也就是说,python中的模块化虽然能把代码给拆分开,但不能解决路由映射的问题。 ? 因此我们就引出了蓝图的概念 蓝图是个啥? 蓝图: 用于实现单个应用的视图、模板、静态文件的集合。

    1.1K10

    Python Flask 学习笔记 —— 二(路由,视图函数,jinjia2语法)

    Python Flask —— 二(路由、jinji2语法) 一、使用路由和视图函数 1.1 路由的概念 1.2 定义一个路由 1.3 使用 动态路由 1.4 视图函数的响应 1.4.1 生成重定向的响应...1.4.2 返回 JSON 数据 1.5 自定义错误页面 1.6 路由请求方法监听(补充更新) 二、模板语法 2.1 Jinjia2 模板初体验 2.2 变量 2.3 使用过滤器 2.3.1 常见过滤器...处理 URL 和函数之间的关系的程序叫做 路由 1.2 定义一个路由 定义一个路由需要使用 app.route 修饰器,把修饰的函数注册为路由。...像常规路由一样,flask 允许程序基于模板自定义错误页面,最常用的状态码有另个 404,500,下面是使用示例 @app.errorhandler(404) def page_not_found(e...web 的 blueprint,所以需要加上 web 来解决跳转到主页的问题。

    1.6K21

    flask的Blueprint,前后台蓝图注册

    我使用的是python3.6 文件结构 创建一个shizhan文件夹,根据flask的文件结构,在shizhan里面创建app文件夹,其他如下的结构 ├── app │ ├── __init__...,表示属于一个包(我这么叫) manage.py为启动文件 代码逻辑 定义前后台蓝图 以admin的为例,admin文件夹中 在__init__.py中代码如下: # coding:utf8 from...flask import Blueprint admin = Blueprint("admin",__name__) import app.admin.views 对应的home的__init...注意,最后要import一下自家的视图views,让路由可以生效 定义总的蓝图注册 app文件夹外面的__init__.py # coding:utf8 from flask import Flask...home,后台的为admin,所以写路由的装饰器的时候,是以他们为首的,比如@admin.route("/") 运行 需要编写manage.py文件 # coding:utf8 from app

    2K100

    Flask中的Blueprints模块化和组织大型Web应用

    Blueprints是Flask中的一种模式,用于将应用程序分解为可重用的模块。每个蓝图实际上是一个包含一组路由、视图和静态文件的Python模块。...代码解析我们首先导入了Blueprint类以及Flask类。然后我们创建了Flask应用程序实例。接着,我们将定义好的蓝图注册到应用程序中,每个蓝图都有一个唯一的名称和一组路由。...在每个蓝图中,我们使用@blueprint.route()装饰器定义了不同的路由。在实际应用中,我们可以将相关功能的路由和视图添加到相应的蓝图中,以实现模块化的组织。...,我们可以自动生成包含所有蓝图路由和视图的API文档。...(debug=True)将所有蓝图注册到主应用程序文件中可以确保在部署时所有路由和视图都能正确加载。

    74820

    Flask 蓝图 Blueprint

    我们在使用Flask框架,是从写单个文件,执行hello world开始的。我们在这单个文件中可以定义路由、视图函数、定义模型等等。...但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。...python中的模块制作和导入就是基于实现功能模块的封装的需求。 尝试用模块导入的方式解决: 我们把上述一个py文件的多个路由视图函数给拆成两个文件:app.py和admin.py文件。...并且可以看到上面我设置app为调试模式,但是启动之后,app的配置貌似都失效了,可以看到Debug mode:off。 5.总结性来看,app.py与admin.py耦合性最高的地方就是app实例。...from flask import Flask,Blueprint #Blueprint必须指定两个参数,admin表示蓝图的名称,__name__表示蓝图所在模块 admin = Blueprint

    78420

    flask-利用Blueprint、flask_restful编写一个后端测试项目

    (v1.1)),本次变更如下: 1、使用flask_restful定义视图函数&配置路由; 2、使用Blueprint(蓝图)模块化组织代码结构; 3、使用工厂函数创建app实例; 4、单独维护一些扩展...; utils: 自定义的工具类,存放抽象出来的公共操作,如pymysql的使用; data_factory.py: 自定义的工厂函数文件 extensions.py: 扩展文件 run_main.py...class代表一个,如上面的CreatePhone、CreateId、CreateName,这个类继承flask_restful的 Resource类, 同时有一点要额外注意⚠️:定义get或post接口抑或其他类型的接口时...,要使用对应的方法名,例如定一个get方法的接口,那么需要在这个类下新建一个方法名为get的方法(名称不能自己随意定义~); 4、定义好视图函数(接口)后,使用 api.add_resource为每个视图添加路由...做完上述操作后,还没有把model中定义的类转化为真正的表,打开flask shell环境,执行如下命令 D:\python_code_study\flaskProject>flask shell >

    76530

    flask的Blueprint,前后台蓝图注册

    为初始化文件,在文件夹内,表示属于一个包(我这么叫) manage.py为启动文件 代码逻辑 定义前后台蓝图 以admin的为例,admin文件夹中 在__init__.py中代码如下: # coding...:utf8 from flask import Blueprint admin = Blueprint("admin",__name__) import app.admin.views 对应的home...的__init__.py文件如下: # coding:utf8 from flask import Blueprint home = Blueprint("home",__name__) import...app.home.views 注意,最后要import一下自家的视图views,让路由可以生效 定义总的蓝图注册 app文件夹外面的__init__.py # coding:utf8 from flask...) app.register_blueprint(admin_blueprint, url_prefix="/admin") /admin的路由在注册的时候设置,如上面的url_prefix="/admin

    73940
    领券