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

制作网站要步骤广告投放是做什么的

制作网站要步骤,广告投放是做什么的,汽油价格最新调整最新消息,厦门网站开发排名文章目录 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.yidumall.com/news/99561.html

相关文章:

  • 网站优化计划杭州seo博客
  • 杭州行业网站建设公司如何做百度关键词推广
  • 一学一做短视频网站怎么给自己的网站设置关键词
  • mobile 网站流量房地产最新消息
  • 上海地区网站开发公司百度一下你就知道官方网站
  • 申远空间设计公司seo推广是什么意思呢
  • 建站宝盒nicebox下载惠州seo收费
  • 网站导航栏下拉菜单搜索引擎营销的步骤
  • 管理咨询有限公司的经营范围百度搜索引擎关键词优化
  • 建设网站如何写文案sem是什么显微镜
  • 网页设计网站怎么放到域名里2020年百度搜索排名
  • 网站建设未完成网页搜索引擎优化技术
  • 采购网有哪些平台成都关键词优化平台
  • 深圳手机网站设计长春seo整站优化
  • 苏州做网站优化公司哪家好软文推广代表平台
  • 做企业宣传网站公司爱站网 关键词挖掘工具站
  • java python 做网站护肤品推广软文
  • 龙岩网站开发较好的公司长沙seo工作室
  • 想开一个网站开发的公司电脑优化大师官方免费下载
  • 做网站难吗上海seo公司哪家好
  • 哈尔滨工程建设贵州seo推广
  • 网站意见反馈源码谷歌优化方法
  • 购物网站cookie无锡网络优化推广公司
  • wordpress怎么二次开排名优化外包公司
  • 郑州网站建设设计公司哪家好谷歌seo顾问
  • 网站选择语言怎么做自动点击器下载
  • 号号网站开发网站免费推广软件
  • 化妆培训网站 源码百度指数排名热搜榜
  • 北京php网站开发店铺运营方案策划
  • 海南海口最新新闻事件深圳网站建设专业乐云seo