1.3.3.1前端设计
修改auth.py
1.3.3.2登录
在forms.py中新增LoginForm验证类
了解cookie和session的区别
在auth.py中修改login视图函数
浏览器访问http://127.0.0.1:5000/auth/login,当输入密码正确时会出现以下画面
其中,出现了SECRET_KEY
需要在config.py中新增SECRET_KEY
此时,浏览器访问http://127.0.0.1:5000/auth/login,当输入密码正确时会出现以下画面,验证登录成功(session已经存在了)
1.3.3.3hook函数
修改app.py,新增2个hook函数
1.3.3.4根据登录区分状态
修改base.html,补充获取用户信息和登录状态
在auth.py中新增logout视图函数
1.3.4博客-问题
1.3.4.1前端设计
与问答相关的路由和视图函数在qa.py中
访问http://127.0.0.1:5000/public_question
1.3.4.2问题逻辑
新建qa的model(ORM模型)---在models.py中
执行migrate三联
flask db init(不需要执行)
flask db migrate
flask db upgrade
新建qa的form检验---在forms.py中
完成路由和视图函数qa.py(对之前的进行更新)
浏览器访问http://127.0.0.1:5000/qa/public_question
提交完成后,重定向到首页
可以在数据库中检查question新增的数据
1.3.4.3登录装饰器
新建decorator.py定义登录装饰器
在qa.py中的public_question视图函数上配置我们自定义的装饰器
注:实际执行过程中,相当于执行了login_required(public_question)(参数)