{% endif %}
{% block content %}
{# 其他页面内容 #}
{% endblock %}
这里页面使用了Layui定义了一个导航栏,展示了对应的功能模块。其中{% if username %},username为后台存放在session中的一个键值对,用于判断用户是否登录了,有些功能登录后才显示。
base.html模板文件完成后,我们在定义一个index.html来做项目的首页,直接继承base.html。这样首页index.html就节省了很多代码。如下:
{% extends ‘base.html’ %}
{% block title %}
在线博客平台
{% endblock %}
{% block content %}
在线博客平台
{% endblock %}
首页效果如下:
; 登录与注册功能
登录
先定义一个登录的视图函数,可以接收GET、POST请求,GET请求为跳转到登录页面,POST请求为处理登录提交的请求,验证是否登录成功,登录成功后把当前登录对象的用户名存入session会话中。
登录请求
@index.route(‘/login’, methods=[‘POST’, ‘GET’])
def login():
if request.method == ‘GET’:
return render_template(‘login.html’)
if request.method == ‘POST’:
username = request.form.get(‘username’)
password = request.form.get(‘password’)
user = User.query.filter(User.username == username).first();
check_password_hash比较两个密码是否相同
if (user is not None) and (check_password_hash(user.password, password)):
session[‘username’] = user.username
session.permanent = True
return redirect(url_for(‘index.hello’))
else:
flash(“账号或密码错误”)
return render_template(‘login.html’);
登录页面是用Layui写的一组form表单,也是基础的base.html,代码如下:
{% extends ‘base.html’ %}
{% block title %}
在线博客平台.登录
{% endblock %}
{% block css %}
{% endblock %}
{% block content %}
登录
{% for item in get_flashed_messages() %}
{ { item }}
{% endfor %}
用户名
密 码
立即提交
重置
{% endblock %}
{% block login_class %}
layui-this
{% endblock %}
效果如下(账号和密码错误后,会有相应的提示信息):![在这里插入图片描述](https://img-blog.csdnimg.cn/20201128144717479.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMjA1MTE2,size_16,color_FFF
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
FFF,t_70)
注册和登录差不多,页面都是使用的同一个css样式文件,所以这里就贴代码出来了,需要的可以自行下载完整项目代码:GitHub地址。
修改密码
修改密码模块,因为数据库存放明文密码很不安全,所以这里使用了Werkzeug对密码进行了加密存储。对于WerkZeug密码加密想进一步了解的,可以访问[Flask 使用Werkzeug实现密码加密。
Original: https://blog.csdn.net/m0_64383449/article/details/122022236
Author: m0_64383449
Title: Flask实现个人博客系统(附源码),java面试说我基础太差
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/746207/
转载文章受原作者版权保护。转载请注明原作者出处!