BBS修改密码
BBS项目修改密码退出登录
目录
创建超级管理员用户和登录步骤
一、修改密码编写步骤概览
- 开设修改密码路由
- 首页前端代码写Ajax请求
- 回到后端继续修改密码逻辑
二、修改密码编写步骤详细
1.开修改密码路由
# 修改密码功能
path('set_pwd/', views.set_pwd_func),
2.写修改密码的视图函数
from django.contrib.auth.decorators import login_required
@login_required
def set_pwd_func(request):
pass
3.在首页前端页面已经写好了Ajax请求
<script>
$('#setBtn').click(function () {
$.ajax({
url: '/set_pwd/',
type: 'post',
data: {
'old_pwd': $('#old_pwd').val(),
'new_pwd': $('#new_pwd').val(),
'confirm_pwd': $('#confirm_pwd').val(),
'csrfmiddlewaretoken': '{{ csrf_token }}',
},
success: function (args) {
if (args.code === 10000){
window.location.href = args.url
}else{
$('#error').text(args.msg)
}
}
})
})
</script>
4.回到视图函数不全修改密码的后端代码
@login_required
def set_pwd_func(request):
back_dict = {'code': 10000, 'msg': ''}
if request.method == 'POST':
old_pwd = request.POST.get('old_pwd')
new_pwd = request.POST.get('new_pwd')
confirm_pwd = request.POST.get('confirm_pwd')
# 先校验原密码是否正确
if request.user.check_password(old_pwd):
# 再校验两次密码是否一致 并且不能为空
if new_pwd == confirm_pwd and new_pwd:
request.user.set_password(new_pwd)
request.user.save()
back_dict['msg'] = '密码修改成功'
back_dict['url'] = '/login/'
else:
back_dict['code'] = 10001
back_dict['msg'] = '两次密码不一致或者为空'
else:
back_dict['code'] = 10002
back_dict['msg'] = '原密码错误'
return JsonResponse(back_dict)
三、退出登录编写步骤概览
- 开设退出登录的路由
- 写退出登录视图函数
- 在首页绑定路由调到首页
四、退出登录编写步骤详细
1.开设路由
# 退出登录功能
path('logout/', views.logout),
2.写视图函数
@login_required
def logout(request):
auth.logout(request)
return redirect('home_view')
五、创建超级管理员用户和登录步骤
1.创建超级管理员的详细步骤
2.超级管理员登录界面
3.超级管理员登陆成功的界面!
4.需要在Django配置里注册一下哦!
六、开设media媒体目录的步骤
1.在配置文件里面添加以下配置
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
2.添加路由 不用背是固定写法
from django.contrib import admin
from django.urls import path, re_path
from app01 import views
from django.views.static import serve
from django.conf import settings
# 自定义暴露资源接口
re_path('media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT}),