项目阶段之flask(五)

简介: 项目阶段之flask(五)

1.用户新闻列表获取

思路分析:

1.获取参数

2.校验参数,为空校验

3.分页查询用户发布的新闻

4.获取分页对象数据

5.携带数据返回页面展示





2.关注&取消关注实现

思路分析:

0.判断用户是否登录

1.获取参数

2.校验参数,为空校验

3.校验操作类型

4.根据作者编号取出作者对象,判断作者对象是否存在

5.根据操作类型关注或者取消操作

6.返回响应





3.用户关注列表

实现思路:

1.获取参数

2.参数类型转换

3.分页查询用户关注的人

4.取出分页对象的数据,总页数,当前页,当前页对象列表,

5.将对象列表转成字典列表

6.拼接数据渲染页面





4.管理员登录

操作流程:

1.判断请求方式,如果是get直接渲染页面

2.如果是post请求,获取参数

3.校验参数,为空校验

4.根据用户名取出管理员对象,判断管理员是否存在

5.判断管理员的密码是否正确

6.管理员的session信息记录

7.重定向到首页展示




5.flask内部csrf_token校验过程(理解)

提交数据的方式有两种

表单提交:

1.在浏览器中表单页面中,需要设置一个隐藏的csrf_token值(自己设置)

2.在cookie中设置一个sessionID(服务器设置的)

服务器校验过程:

1/取出表单中的csrf_token(加密的),使用SECRET_KET解密csrf_token,得到未加密的csrf_token

2/根据sessionID解密出服务器空间中的csrf_token(未加密的),

3/比较二者是否相等


非表单提交:

1.在浏览器cookie中设置csrf_token,为了给请求头使用(headers里面的X-CSRFToken)

2.在cookie中设置一个sessionID(服务器设置的)

服务器校验过程:

1/取出请求中的csrf_token(加密的),使用SECRET_KET解密csrf_token,得到未加密的csrf_token

2/根据sessionID解密出服务器空间中的csrf_token(未加密的),

3/比较二者是否相等




6.管理员界面人数趋势图

其实是两个表格,在前端调用了一个模块转成了图,下面是关键的代码





小知识点

2.iframe是框架标签,配合a标签来使用的

3.退出时post请求,登录也是post请求

4.系统的time模块中time.localtime可以得到一个对象,里面有跟多数据,年月日,时分秒等等,我们可以根据自己的需要进行选去,如果没有用到的,比如时分秒不指定的话,默认为0

5."%Y"代表年,大写的Y代表是4位数字的年

6.datetime模块中的datetime中有一个方法strptime(string'字符串' parse'解析' time ),可以将字符串解析成时间,注意此处的字符串指的是从time中的localtime()方法获取的字符串时间

相关文章
|
缓存 前端开发 JavaScript
flask各种版本的项目,终端命令运行方式的实现
flask各种版本的项目,终端命令运行方式的实现
737 4
|
数据可视化 API 开发者
通俗易懂:一步步教你 Flask 项目自动生成 API 文档
Flasgger,作为一款强大的 Flask 扩展,自动从 Flask 应用中提取并生成 OpenAPI 规范文档,配备 SwaggerUI,为开发者提供了一条快捷通道,让 API 的文档编制和交互式测试变得简单易行。Flasgger 的设计原则是简化开发流程,通过与 Flask 框架的无缝整合,让开发者可以更专注于应用逻辑的构建。
|
前端开发 JavaScript Python
flask 项目目录结构
flask 项目目录结构
364 0
|
存储 前端开发 NoSQL
项目阶段之flask(三)
项目阶段之flask(三)
|
5月前
|
人工智能 Linux C++
即开即用,封装 Flask 项目为 exe 文件实操步骤
即开即用,封装 Flask 项目为 exe 文件实操步骤
|
前端开发 JavaScript 数据库
Flask狼书笔记 | 09_图片社交网站 - 大型项目的架构与需求(2)
9.8 收藏图片 前面已经学习过如何使用关联表来表示多对多关系,缺点是只能表示关系,不能存储数据(如我还想记录下收藏图片的时间戳)。这种情况下,我们可以使用关联模型来表示多对多关系。 在关联模型中,我们将Photo模型与User模型的多对多关系,分离成了User模型和Collect模型的一对多关系,和Photo模型与Collect模型的一对多关系。
226 0
|
安全 前端开发 API
震惊!掌握Django/Flask后,我竟然轻松征服了所有Web项目难题!
【7月更文挑战第15天】Python Web开发中,Django以其全面功能见长,如ORM、模板引擎,助你驾驭复杂需求;Flask则以轻量灵活取胜,适合快速迭代。两者结合使用,无论是数据库操作、用户认证还是API开发,都能让你应对Web挑战游刃有余。掌握这两者,Web项目难题变得易如反掌!
196 10
|
Linux Python
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
188 0
|
数据处理 Python
Flask 项目工程目录层级划分
本文介绍了如何将 Flask 项目工程目录层级按照主题分类划分,主要包括模型层、视图层、表单层、模板文件和静态文件。通过合理地组织项目文件,可以提高项目的可读性、可维护性和可扩展性。
310 5
|
前端开发 索引 Python
【已解决】Flask项目报错TypeError: tuple indices must be integers or slices, not str
【已解决】Flask项目报错TypeError: tuple indices must be integers or slices, not str