flask博客项目思路

创建好一个基本的工程目录

一.基础模板的定制
  1. 在config.py中写入基本的配置

  2. 在__init__中写入app,作为启动,把整个项目当作一个包啦用,封装一个函数,专门创建app,只有在创建了app之后,才能去定制。

  3. 在manage.py中写入启动控制。

  4. 在extensions.py中写入相应的扩展,在create_app函数中调用配置函数即可

  5. 蓝本的使用,放在views(所有的视图函数保存的地方)中,在view中创建一个_init__可以统筹调用其他的模块,蓝本需要注册(_init__ 完成各种初始化,负责统筹调用其他模块)

  6.  
       
       
    初始化就是你定义出来的变量,它最开始的值是多少,你得给它一个,一定记得初始化,否则,有时,会遇上一些莫名其妙的问题.
  7. 在templates中创建一个项目的基础模板,其他模板都是继承自它,然后在单独定制

  8.  
       
       
    为了降低查表的时间,可以分目录来存放,也是降低耦合度
    邮件模板:和谁都不相关,单独创建一个,注册账户是一个,找回密码是一个,所以可以把邮件模板单独放在一个文件夹
    发表文章和帖子,post目录
    base只是创建一个基础模板,不可能单独来使用,哪些需要使用,包含,继承,,来使用
    创建app和邮件发送是完全没有关联的。。
二,首页导航栏用户登录注册的功能实现
 
 
 
点击注册,注册页面的跳转(写一个表单类,跳转到写好的表单中),渲染一下,点击提交
把注册内容写完之后在模板中渲染一下
点击提交,把表单中所有的数据准备好,拿出来,写到数据库中,然后做一下数据库相关的方法

1.在base.html的导航头中写点击的链接url_for ,(url_for("user.register"))前面是蓝本,后面是视图函数。

2.用户表单注册forms\user

3,在views\user中导入RegisterForm渲染注册模板,在base.html中导入flask—wtf,继承关系

 
 
 
注册;创建表单类
# 根据表单数据,创建用户对象
#将用户对象保存到数据库
# 发送用户账户的激活邮件
# 弹出用户账户的激活邮件
#跳转到首页/登录页面

4.添加用户模型(models\user)

 
 
 
加密,
系统提供了专门生成一串字符串的函数generate_password_hash,生成密码的哈希值,check_password_hash 校验哈希值
设置密码时,保存加密后的hash值
密码校验,校验哈希值,成功返回true

5.在models\users中设计user模型,将设计的用户模型,生成我们的用户表

 
 
 
pip install flask-sqlalchemy
生成数据库:1.数据库迁移  迁移需要用到migrate(migrate在extension中创建并初始化了)
生成一下 python manage.py db init
迁移 python manage.py db migrate
更新 python manage.py db upgrade 
迁移后的数据库,默认就是开发环境
在models\user 中导入,在__init__中写入,在view\user中写入
迁移出问题了,可以把migration\version中的最后一个给删除

6.添加激活邮件的模板,email\active

7.用户注册表单的校验(保证用户名,密码问题)

8.用户登录认证
 
 
 
1.添加登陆的跳转模板(渲染)
2.添加登录的视图函数
3.添加登录的模板文件
4,添加用户登录的表单
5.创建登陆表单并在模板文件中渲染
6.登陆校验

flask-login 用户登陆使用 帮我我们管理用户,用户的登陆、退出、状态保持,帮我们维护了session

 
 
 
另外,需要设置一个回调函数,用户模型继承自UserMixin,

登陆成功后,显示登陆状态的模板

用户信息 profile.html

9.头像上传

10.头像与数据库用户关联

三.博客管理 post

1.添加博客模型

2.添加发表博客的表单(index.html)forms\posts

3.发表博客

4.显示博客main.index

5.分页显示,宏的封装 macro.html

6.显示添加收藏。。。index.html

post.py中写收藏的逻辑

 
 
 
第一个参数要求传一个过滤的函数,添加过滤的函数,用lambda解决,,第二个参数是过滤的内容

7.ajax请求,作用,局部刷新。。。index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值