当前位置: 首页 > news >正文

劳动保障局瓯海劳务市场和做网站sem推广什么意思

劳动保障局瓯海劳务市场和做网站,sem推广什么意思,哪家网站建设做的好,网站建设按什么合同交印花税文章目录 12 管理员操作12.4 密码加密12.5 获取对象(防止id错误--编辑界面等)12.6 编辑管理员12.7 重置密码 往期回顾 12 管理员操作 12.4 密码加密 密码不应该以明文的方式直接存储到数据库,应该加密才放进去 定义一个md5的方法&#xff…

文章目录

  • 12 管理员操作
    • 12.4 密码加密
    • 12.5 获取对象(防止id错误--编辑界面等)
    • 12.6 编辑管理员
    • 12.7 重置密码
  • 往期回顾


12 管理员操作

12.4 密码加密

  • 密码不应该以明文的方式直接存储到数据库,应该加密才放进去

定义一个md5的方法(先创建一个文件夹)
在这里插入图片描述

  • 导入库
import hashlib
  • 标准md5加密的格式
    • 这样的坏处是,得到的密文是固定的
def MD5(data_string):obj = hashlib.md5()obj.update(data_string.encode('utf-8'))return obj.hexdigest()
  • 加盐
    • 就是在密码转换来的哈西值里加上一段默认或者系统随机生成的字符串
    • 相当于再次加密
# 导入库
# 会给你一个随机的字符串
from django.conf import settings
  • 总代码
import hashlib
from django.conf import settings# data_string 需要加密的字符串
def MD5(data_string):obj = hashlib.md5(settings.SECRET_KEY.encode('utf-8'))obj.update(data_string.encode('utf-8'))return obj.hexdigest()
class AdminModelForm(BootStrapModelForm):# 数据库定义两个字段,这里相当于再定义了一个字段confirm_password = forms.CharField(label="确认密码",widget=forms.PasswordInput,)class Meta:model = models.Adminfields = ["username", 'password']widgets = {"password": forms.PasswordInput,}# 加密MD5def clean_password(self):pwd = self.cleaned_data.get("password")return MD5(pwd)def clean_confirm_password(self):# 获取页面数据(两个密码的)pwd = self.cleaned_data.get("password")# 让确认密码也进行MD5加密# 这样让他们的密文进行比较# 这样存储到数据库之后也是密文了confirm = MD5(self.cleaned_data.get("confirm_password"))if confirm != pwd:raise ValidationError("密码不一致")# 这个是返回到数据库字段的值return confirm

在这里插入图片描述

12.5 获取对象(防止id错误–编辑界面等)

row_object = models.Admin.objects.filter(id=uid).first()if not row_object:return redirect('/admin/list')
def admin_edit(request, uid):"""编辑管理员"""row_object = models.Admin.objects.filter(id=uid).first()if not row_object:return redirect('/admin/list')title = "编辑管理员"return render(request, "add_model.html", {"title": title})

12.6 编辑管理员

  • 一般来讲都不会修改密码的

注意,我们只定义了一个字段,所以修改的时候只会修改这一个字段

# 重新定义一个样式用来编辑编辑界面
# 只允许你编辑用户名
class AdminEditModelForm(BootStrapModelForm):class Meta:model = models.Adminfields = ['username']
  • 编辑界面
def admin_edit(request, uid):"""编辑管理员"""row_object = models.Admin.objects.filter(id=uid).first()if not row_object:return redirect('/admin/list')title = "编辑管理员"if request.method == 'GET':# 显示默认值form = AdminEditModelForm(instance=row_object)return render(request, "add_model.html", {'form': form, "title": title})form = AdminEditModelForm(data=request.POST,  instance=row_object)if form.is_valid():form.save()return redirect("/admin/list/")return render(request, "add_model.html", {"form": form, "title": title})

12.7 重置密码

  • 添加被修改人

  • 本质还是使用id得到名字,然后再用占位符来进行占位

title = "重置密码 - {}".format(row_object.username)
def admin_reset(request, uid):"""重置密码"""row_object = models.Admin.objects.filter(id=uid).first()title = "重置密码 - {}".format(row_object.username)if not row_object:return redirect('/admin/list')return render(request, "add_model.html", {"title": title})
  • 重置密码
# 只允许你重置密码
# 用于重置密码
class AdminResetModelForm(BootStrapModelForm):confirm_password = forms.CharField(label="确认密码",widget=forms.PasswordInput,)class Meta:model = models.Adminfields = ['password']widgets = {"password": forms.PasswordInput,}def clean_password(self):pwd = self.cleaned_data.get("password")md5_pwd = MD5(pwd)# 重置拿到密码要去数据库那里把原先密码进行比对# self.instance.pk获取原先idexists = models.Admin.objects.filter(id=self.instance.pk, password=md5_pwd).exists()if exists:raise ValidationError("密码不能与之前密码一致")return MD5(pwd)def clean_confirm_password(self):# 获取页面数据(两个密码的)pwd = self.cleaned_data.get("password")# 让确认密码也进行MD5加密# 这样让他们的密文进行比较# 这样存储到数据库之后也是密文了confirm = MD5(self.cleaned_data.get("confirm_password"))if confirm != pwd:raise ValidationError("密码不一致")# 这个是返回到数据库字段的值return confirm
def admin_reset(request, uid):"""重置密码"""row_object = models.Admin.objects.filter(id=uid).first()title = "重置密码 - {}".format(row_object.username)if not row_object:return redirect('/admin/list')if request.method == 'GET':form = AdminResetModelForm()return render(request, "add_model.html", {'form': form, "title": title})form = AdminResetModelForm(data=request.POST, instance=row_object)if form.is_valid():form.save()return redirect("/admin/list/")return render(request, "add_model.html", {"form": form, "title": title})

往期回顾

1.【快速开发网站】
2.【浏览器能识别的标签1】
3.【浏览器能识别的标签2】
4.【浏览器能识别的标签3】
5.【浏览器能识别的标签4】
6.【案例1:用户注册】
7.【案例2:用户注册改进】
8.【快速了解 CSS】
9.【常用选择器概念讲解】
10.【CSS基础样式介绍1】
11.【CSS基础样式介绍2】
12.【CSS基础样式介绍3】
13.【CSS基础样式介绍3】
14.【案例 小米商城头标】
15.【案例 小米商城头标总结】
16.【案例 小米商城二级菜单】
17.【案例 商品推荐部分】
18.【伪类简单了解】
19.【position】
20.【案例 小米商城中app图标代码】
21.【边框及总结】
22.【BootSrap初了解】
23.【BootSrap的目录栏】
24.【BootSrap的栅格系统】
25.【案例 博客案例】
26.【案例 登录】
27.【案例 后台管理样例】
28.【图标】
29.【BootStrap依赖】
30.【javascript初了解】
31.【jJavaScript的变量】
32.【JavaScript的字符串类型】
33.【JavaScript的数组介绍】
34.【案例 动态数据】
35.【javascript 对象(字典)】
36.【案例 动态表格】
37.【Javascript的条件语句和函数】
38.【DOM初了解】
39.【DOM的事件了解】
40.【jQuery初了解】
41.【jQuery寻找标签】
42.【jQuery寻找标签2】
43.【jQuery寻找标签(间接寻找)】
44.【案例 菜单的切换】
45.【案例 只能打开一个菜单】
46.【jQuery 简单操作】
47.【案例 动态创建数据】
48.【案例 点击获取文本】
49.【案例 点击删除文本】
50.【案例 表格操作】
51.【案例 添加页面】
52.【初识MySQL】
53.【MySQL命令介绍一】
54.【MySQL命令介绍二】
55.【MySQL命令介绍三】
56.【案例:员工管理】
57.【案例 Flask+MySQL新增用户】
58.【案例 Flask+MySQL查询所有用户】
59.【初识 django】
60.【django的快速上手】
61.【django的模板语法】
62.【django的获取请求与响应】
63.【案例 用户登录】
64.【django中数据库操作】
65.【django中数据库操作–创建与删除表】
66.【django中数据库操作–操作表中的数据】
67.【案例 用户管理】
68.【A 案例: 员工管理系统1】
69.【A 案例: 员工管理系统2】
70.【A 案例: 员工管理系统3】
71.【A 案例: 员工管理系统4】
72.【A 案例: 员工管理系统5】
73.【A 案例: 员工管理系统6】
74.【A 案例: 员工管理系统7】
75.【A 案例: 员工管理系统8】
76.【A 案例: 员工管理系统9】

http://www.hkea.cn/news/255452/

相关文章:

  • 乌镇网站建设标书百度站长工具域名查询
  • 制作公司网站价格腾讯广告代理商加盟
  • 大学生活动网站开发文案苏州seo门户网
  • 阿里云认证网站建设题库seo助理
  • 凤岗网站仿做靠谱seo外包定制
  • xampp安装wordpress说明徐州seo外包
  • 啥网站都能看的浏览器下载百度收录查询工具
  • 福田附近公司做网站建设哪家效益快奶糖 seo 博客
  • 临沂免费自助建站模板品牌整合营销
  • iis做本地视频网站找客户资源的网站
  • 做调查用哪个网站网络推广有多少种方法
  • 开发一个交易网站多少钱在线工具
  • 网站平台怎么建立的软文范例
  • 移动应用开发专业学什么东莞seo软件
  • 做宣传网站的公司手机百度极速版app下载安装
  • 私人可以做慈善网站吗外贸如何推广
  • 网站页面模板页面布局如何成为百度广告代理商
  • 瑞安外贸网站建设曲靖百度推广
  • 先做网站还是服务器销售营销方案100例
  • 用卫生纸做的礼物街网站免费网页空间到哪申请
  • 手游网站做cpc还是cpm广告号厦门网页搜索排名提升
  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设
  • 进入兔展网站做PPt软文营销ppt
  • app网站新闻危机公关
  • 东莞关键词优化实力乐云seo南宁seo外包服务商
  • 做网站都是用源码么免费注册个人网站不花钱
  • 建设网站需要两种服务支持官网设计公司
  • 安庆做网站seo建站收费地震