首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Flask入门之完整项目搭建

# 使用终端脚本工具启动管理flask manager = Manager(app) # 启用数据迁移工具 Migrate(app, db) # 添加数据迁移的命令到终端脚本工具 manager.add_command...创建蓝图   apps下新建一个包,蓝图名为index,包下面的__init.py文件创建蓝图对象 from flask import Blueprint index_blu = Blueprint...,使用的字段名称,可以自定义,接下来的使用例如: course.students 获取某个课程下所有的学生 lazy='dynamic' ) def __repr__(...templates找   九、闪现信息   使用后,只会出现一次的信息,叫‘闪现信息’,用于验证数据失败或者一些只需要显示一次性提示得场景。   ...使用方法:   视图中当验证有误时,显示模板之前设置flash # 视图函数代码 from flask import flash flash("对不起,您尚未登录,请登录!")

3.9K11

会话控制 COOKIE 与 SESSION

一、COOKIE 概述 会话控制 用来保持用户的状态 具体来说cookie机制采用的是客户端保持状态的方案,而session机制采用的是服务器端保持状态的方案 原因 http协议时无状态的 每一次请求都是一次新的请求...,不会记得之前的通信状态 值的存储 cookie存储客户端的浏览器 一般会限制存储cookie的个数为 20个 并且单个cookie保存值的大小不能超过4kb 存储浏览器上为明文存储 所以不安全...访问者第一次访问服务器时,服务器在其cookie设置一个唯一的ID号——会话ID。 这样,访问者后续对服务器的访问头中将自动包含该信息,服务器通过这个ID号,即可区 隔不同的访问者。...Flask框架,每当一个请求进来时会自动根据请求cookie的会话ID创建 一个Session类的实例对象(会话ID的键 默认为session) 缓存共同配置 <span class="hljs-comment...Session类定义了get_item()方法<em>和</em>set_item()方法, 因此我们可以像<em>使用</em>Dict对象一样,通过[]操作符读取或设置<em>会话</em>变量 from

34310

Flask入门到放弃(四)—— 数据库

pip install flask-mysqldb 数据库连接设置 Flask-SQLAlchemy ,数据库使用URL指定,而且程序使用的数据库必须保存到Flask配置对象的 SQLALCHEMY_DATABASE_URI...,用于设置外键名称,1查多的 primary join 明确指定两个模型之间使用的连表条件 uselist 如果为False,不使用列表,而使用标量值 order_by 指定关系记录的排序方式 secondary...指定多对多关系关系表的名字 secondary join SQLAlchemy无法自行决定时,指定多对多关系的二级连表条件 数据库基本操作 Flask-SQLAlchemy,插入、修改、...会话用 db.session 表示。准备把数据写入数据库前,要先将数据添加到会话然后调用 commit() 方法提交会话。...更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库Flask可以使用Flask-Migrate扩展,来实现数据迁移。

3.1K20

Git管理源代码

Git管理源代码 1.前情回顾 session[key]=value是默认存储服务器内部的 flask-session使用步骤: 1/from flask-session import Session...存储时间 3/读取app的session配置信息到Session 2.git介绍 目的:使用分布式系统管理源代码,还可以多人协同开发 作者:Linux 上线时间:2005年 3.git区域介绍...(还有.pyc.pyo(连接c语言).pyd(动态库)一般也是忽略的,可以统一写成.py[cod]) 我们pycharm如果写完后,可以直接提交到git,菜单栏依次点击 VCS---->commit...13.数据库配置 目的:为了项目中用来存储新闻数据以及用户数据 from flask_sqlalchemy import SQLAlchemy ...class Config(object):...# flask_session的配置信息 SESSION_TYPE = "redis" # 指定 session 保存到 redis SESSION_USE_SIGNER =

2.8K40

Flask扩展使用笔记

: 可以扩展路由 Flask-Migrate 扩展 描述:该扩展实现数据库字段模型迁移 Flask像Django中一样进行模型迁移,初始化使用app db 进行初始化,同时也可以使用懒加载方法...仅当数据库表不存在时,Flask-SQLAlchemy 才会根据模型进行创建。因此,更新表的唯一方式就是先删除旧表,不过这样做会丢失数据库的所有数据。更新表的更好方法是使用数据库迁移框架。...扩展 描述:其实现了将服务器端生成session数据存储指定的关系型、菲关系、磁盘文件并将对应的key的HASH存储在网页的Cookie; 关系型数据库关系越复杂性能越低,非关系型数据库由于采用...CACHE_ARGS : 可选列表,用于缓存类实例化期间解包传递。 CACHE_OPTIONS : 缓存类实例化期间传递的可选字典。...此外如果你没有使用键前缀,一些实现(例如Redis)将刷新整个数据库。确保没有缓存数据库存储任何其他数据。

62320

flask框架(四)

flask框架(四) 1.蓝图的基本使用(掌握) 作用:为了进行模块化开发 特点:属于flask自带的,不需要安装扩展就能使用 蓝图的使用流程 1/创建蓝图对象(Blueprint) 2/使用蓝图装饰视图函数...Flask使用Blueprint让应用实现模块化,Flask,Blueprint具有如下属性: 1/一个应用可以具有多个Blueprint 2/一个应用,一个模块可以注册多次 3/Blueprint...teardown:测试结束的方法(适合做,收尾工作,比如数据库删除,会话移除) 测试方法执行的时候有个小特点:就是每次测试的时候,都会执行一下开始结束的方法. 3/编写自己的测试方法 必须以test...存储服务器内部 设置:session[key]=value 获取:value=session.get(get) 注意点:设置SECRET_KET 指定session存储到redis 操作流程 1/安装...flask_sess pip install flas_session 2/导入Session;类 from flask_session import Session 3/设置session相关的配置信息到

63130

「源码分享」用flask创建一个完整的工程结构

flask_script flask_session(无需安装) flask_blueprint(无需安装) 模块解释: flask:安装 flask 及其依赖 flask_sqlalchemy...,pymysql:用Flask对象初始化SQLAlchemy,可以flask项目中使用MTV模 式进行各种对数据库的操作 flask_migrate,flask_script:用于数据库的迁移操作...,其中flask_script用来设置应用程序通过 指令操作;flask_migrate导入数据库迁移类和数据库迁移指令类 flask_session:对flask里面配合redis对session...) 10、进入mysql数据库,通过 use infor; show tables; 来查看是否迁移成功,若成功向里面插入1~2条数据,用来测试,如下图: 11、app1/templates下...在网页输入 127.0.0.1/app1/login 即可显示页面。若想再创建其他功能模块,flask下创建app2文件夹(命名自拟),注册蓝图。操作和app1的完全相同。

3.1K40

flask源码阅读笔记(2)-session相关

这样可以实现不同请求间存储特定用户的信息,实现用户状态的保持。...当然flask对cookie的安全做了一些基础的加固: cookie是httponly的,这样js就不能获取到,一定程度可以防范xss攻击。...二、实现原理源码阅读 正如前文所说flask的session基于cookie实现,相关基础源码见sessions.py,核心安全部分是基于itsdangerous实现(http://itsdangerous.readthedocs.io...设置session保持时间 2.session数据结构:字典(不细讲) 3.flask_login的安全加固 4.session模板里面的作用 5.新版本推荐使用session_interface操纵...session 三、总结 flask官方的session实现,依然是俗套的方法: 将session的内容序列化到浏览器的cookie 浏览器再次请求时将反序列化cookie内容 flask安全上的保证

56960

Flask基础入门学习笔记-1

0x01 环境安装 描述: 进行Flask开发建议使用最新版本的Python3版本以及采用Pycharm进行快速Python Flask项目开发,并且建议开发环境生产环境下都使用虚拟环境来管理项目的依赖...Blueprint 描述:动态路由依赖于 Blueprint 蓝图使用前必须进行安装该模块pip install flask-buleprint,并且使用的时候进行初始化即创建蓝图对象; 使用Flash...; ---- 会话保持 描述: 我们知道学习WEB后端语言时它是我们都绕不开的话题 , 网页采用会话保持技术进行跨请求共享数据,实际上它就是存储访问者的访问票据; 其出现原因: 1) Web 开发HTTP...,其数据以key-vakye的形式存储客户端(重要业务不建议使用会导致一定的风险),并且Flask的Cookues默认对中文进行了处理所以可以直接使用中文; 特点: 支持会话过期 支持中文处理 不能跨网站域名访问..., 数据存储服务器(保证安全以及不可篡改)以Key-Value的形式; 特征: 1.默认将session序列化后存储cookie(KEY->Hash->base64编码),会将机器hmac以及salt

1.6K10

Flask基础入门学习笔记-1

0x01 环境安装 描述: 进行Flask开发建议使用最新版本的Python3版本以及采用Pycharm进行快速Python Flask项目开发,并且建议开发环境生产环境下都使用虚拟环境来管理项目的依赖...Blueprint 描述:动态路由依赖于 Blueprint 蓝图使用前必须进行安装该模块pip install flask-buleprint,并且使用的时候进行初始化即创建蓝图对象; 使用Flash...ImmutableMultiDict实际上是字典(Dict)的再次封装; 会话保持 描述: 我们知道学习WEB后端语言时它是我们都绕不开的话题 , 网页采用会话保持技术进行跨请求共享数据,实际上它就是存储访问者的访问票据...(3) Token Cookie 描述:它是客户端会话技术,其数据以key-vakye的形式存储客户端(重要业务不建议使用会导致一定的风险),并且Flask的Cookues默认对中文进行了处理所以可以直接使用中文...WeiyiGeek.Cookie Session 描述: 它是一个服务端会话技术, 数据存储服务器(保证安全以及不可篡改)以Key-Value的形式; 特征: 1.默认将session序列化后存储

1.5K10

带你认识 flask 的数据库

本应用可以像大多数其他应用一样,使用任何一种类型的数据库来实现,但是出于上述原因,我将使用关系数据库。 第三章,我向你展示了第一个Flask扩展,本章,我还要用到两个。...数据库,SQLite数据库是开发小型乃至中型应用最方便的选择,因为每个数据库都存储磁盘上的单个文件,并且不需要像MySQLPostgreSQL那样运行数据库服务。...当回顾第三章可以发现,首先从环境变量获取配置变量,未获取到就使用默认值,这样做是一个好习惯。...当准备将新版本的应用发布到生产服务器时,你只需要获取包含新增迁移脚本的更新版本的应用,然后运行flask db upgrade即可。...当flask shell命令运行时,它会调用这个函数并在shell会话中注册它返回的项目。函数返回一个字典而不是一个列表,原因是对于每个项目,你必须通过字典的键提供一个名称以便在shell中被调用。

2.2K20
领券