96SEO 2026-02-19 12:39 7
cookie、session、模板基本使用、过滤器自定义过滤器、模板代码复用宏、继承/包含、模板中特有变量和函数、Flask-WTF

表单、CSRF、数据库操作、ORM、Flask-SQLAlchemy、增删改查操作、案例、蓝图、单元测试
Flask简介虚拟环境路由的各种定义方式正则路由转换器请求参数状态保持上下文Flask-Script
无状态指一次用户请求时浏览器、服务器无法知道之前这个用户做过什么每次请求都是一次新的请求。
有时需要保持下来用户浏览的状态比如用户是否登录过浏览过哪些商品等
在客户端存储信息使用Cookie在服务器端存储信息使用Session
请求没有上下文关系每次的请求都是独立的它的执行情况和结果与前面的请求和之后的请求是无直接关系的它不会受前面的请求应答情况直接影响也不会直接影响后面的请求应答情况服务器中没有保存客户端的状态客户端必须每次带上自己的状态去请求服务器人生若只如初见
A你今天中午吃的啥B吃的大盘鸡。
A味道怎么样呀B还不错挺好吃的。
A你今天中午吃的啥B吃的大盘鸡。
A味道怎么样呀B啊啥啥味道怎么样
A你今天中午吃的啥B吃的大盘鸡。
A你今天中午吃的大盘鸡味道怎么样呀B还不错挺好吃的。
Cookie指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地的数据通常经过加密。
复数形式Cookies。
Cookie最早是网景公司的前雇员Lou
Montulli在1993年3月的发明。
Cookie是由服务器端生成发送给客户端浏览器浏览器会将Cookie的key/value保存下次请求同一网站时就发送该Cookie给服务器前提是浏览器设置为启用cookie。
Cookie的key/value可以由服务器端自己定义。
最典型的应用是判定注册用户是否已经登录网站用户可能会得到提示是否在下一次进入此网站时保留用户信息以便简化登录手续这些都是Cookie的功用。
网站的广告推送经常遇到访问某个网站时会弹出小窗口展示我们曾经在购物网站上看过的商品信息。
购物车用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品这些信息都会写入Cookie以便在最后付款时提取信息。
Cookie是存储在浏览器中的一段纯文本信息建议不要存储敏感信息如密码因为电脑上的浏览器可能被其它人使用
Cookie基于域名安全不同域名的Cookie是不能互相访问的
如访问itcast.cn时向浏览器中写了Cookie信息使用同一浏览器访问baidu.com时无法访问到itcast.cn写的Cookie信息浏览器的同源策略
当浏览器请求某网站时会将本网站下所有Cookie信息提交给服务器所以在request中可以读取Cookie信息
cookie)resp.set_cookie(username,
world)response.set_cookie(username,
Flask,request#cookieapp.route(/request)
request.cookies.get(username)return
对于敏感、重要的信息建议要存储在服务器端不能存储在浏览器中如用户名、余额、等级、验证码等信息在服务器端进行状态保持的方案就是SessionSession依赖于Cookie
session:请求上下文对象用于处理http请求中的一些数据内容
session.get(username)记得设置secret_key:
secret_key的作用https://segmentfault.com/q/1010000007295395
思考在视图函数中如何取到当前请求的相关数据比如请求地址请求方式cookie等等
就是请求上下文的对象保存了当前本次请求的相关数据请求上下文对象有request、session
request.args.get(‘user’)的是get请求的参数。
用来记录请求会话中的信息针对的是用户信息。
举例session[‘name’]
user.id可以记录用户信息。
还可以通过session.get(‘name’)用户信息。
应用程序上下文,用于存储应用程序中的变量可以通过current_app.name打印当前app的名称也可以在current_app中存储一些变量例如
应用的启动脚本是哪个文件启动时指定了哪些参数加载了哪些配置文件导入了哪些配置连了哪个数据库有哪些public的工具类、常量应用跑再哪个机器上IP多少内存多大
程序全局的一个临时变量,充当者中间媒介的作用,我们可以通过它传递一些数据g
保存的是当前请求的全局变量不同的请求会有不同的全局变量通过不同的thread
应用程序运行过程中保存的一些配置信息比如程序名、数据库连接、应用信息等
请求上下文和应用上下文原理实现https://segmentfault.com/a/1190000004223296
通过使用Flask-Script扩展我们可以在Flask服务器启动的时候通过命令行的方式传入参数。
而不仅仅通过app.run()方法中传参比如我们可以通过
ip地址以上代码告诉服务器在哪个网络接口监听来自客户端的连接。
默认情况下服务器只监听来自服务器所在的计算机发起的连接即localhost连接。
__main__:manager.run()Flask-Script
中变量代码块和控制代码块的格式能够写出在模板中字典列表的取值方式能够写出数组反转的自定义过滤器使用1种方式即可能够说出Flask中模板代码复用的三种方式能够使用代码实现模板继承的功能能够说出可以在模板中直接使用的
在前面的示例中视图函数的主要作用是生成请求的响应这是最简单的请求。
实际上视图函数有两个作用处理业务逻辑和返回响应内容。
在大型应用中把业务逻辑和表现内容放在一起会增加代码的复杂度和维护成本。
本节学到的模板它的作用即是承担视图函数的另一个作用即返回响应内容。
模板其实是一个包含响应文本的文件其中用占位符(变量)表示动态部分告诉模板引擎其具体的值需要从使用的数据中使用真实值替换变量再返回最终得到的字符串这个过程称为“渲染”Flask是使用
视图函数只负责业务逻辑和数据处理(业务逻辑方面)而模板则取到视图函数的数据结果进行展示(视图展示方面)代码结构清晰耦合度低
下一个被广泛应用的模板引擎是由Python实现的模板语言他的设计思想来源于
的模板引擎并扩展了其语法和一系列强大的功能其是Flask内置的模板语言。
模板语言是一种被设计来自动生成文档的简单文本格式在模板语言中一般都会把一些变量传给模板替换模板的特定位置上预先定义好的占位变量名。
函数的第一个参数是模板的文件名后面的参数都是键值对表示模板中变量对应的真实值。
方法转换为一个字符串就可以比如可以通过下面的方式显示一个字典或者列表中的某个元素:
定义的控制代码块可以实现一些语言层次的功能比如循环或者if语句
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback