django admin后台管理

一、修改密码

from django.contrib.auth.decorators import login_required
# 修改密码功能视图函数。注意:只有登录的用户可以访问,不是所有的用户都可以访问。所以要加装饰器
# 注意:auth模块里有 现成的登录认证装饰器 叫 login_required 它表示:如果用户没有登录会自动跳转到登录页面
# 注意:需要在配置文件 settings文件中写上 LOGIN_URL = '/login/'

@login_required
def set_password(request):
   if request.is_ajax():   # 判断前端发送过来的请求是否是 ajax请求
      # 这是前后端 用ajax交互的。所以要提前定义一个字典,给回调函数留余地
      back_dic = {'code':1000,'msg':''}
      # 接收前端发送过来的请求 拿出数据
      old_password = request.POST.get('old_password')
      new_password = request.POST.get('new_password')
      confirm_password = request.POST.get('confirm_password')
      # 判断新密码与 确认密码是否一致
      print(new_password,confirm_password)
      if new_password == confirm_password:
         # 校验 原密码与 数据库里的密码是否一致
         is_right = request.user.check_password(old_password)
         if is_right:
            # 设置新密码
            request.user.set_password(new_password)
            # 保存新密码
            request.user.save()
            back_dic['msg'] = '修改成功'
            # 修改成功后 还是要跳转到登录页面。用后端反向解析reverse 解析出登录页面的url
            back_dic['url'] = reverse('login')

         else:
            back_dic['code'] = 2000
            back_dic['msg'] = '原密码错误'
      else:
         back_dic['code'] = 3000
         back_dic['msg'] = '两次密码不一致'
      return JsonResponse(back_dic)

二、admin后台管理的用法

     作用:帮你管理表。

1、创建一个超级用户

 

 

 2、注意对 密码的长度是有要求的 

 

 

 3、输入网址:127.0.0.1:8000/admin/

 

 

 4、在应用下中的admin.p文件中 导入models  并注册每一张表

 

 

 

 

 

 5、在admin后台管理中:

 问题:表的名字 自动给加了S 而且 表的名字的英文的。

解决:去掉S  改成中文。在models.py 文件中 每个表类 里 添加 class Meta: .....

 

 

 6、往每张表里 录入数据

01、

 

02、

 

 

03、

 

 

 

 

 

 7、问题:这些分类是英文的

 

 

 解决:在models.py文件中的每个表类里  写上:def __str__(self)

 

 

 8、给表添加数据

 

 

 

 

01、去文章表里  添加文章 和 文章分类

02、去标签表里  添加标签

03、去文章与标签表里 绑定文章和标签的关系

04、去用户表里 绑定blog(个人站点)

posted @ 2020-02-02 16:45  薛定谔的猫66  阅读(316)  评论(0)    收藏  举报