python 简单添加管理员 - 验证密码 代码 -不带加密


admin.py 

from django.shortcuts import render, HttpResponse, redirect
from app import models
from django.core.exceptions import ValidationError
from app.utils.pagetions import Pagetions
from app.utils.bootsrap import BootstrapModelForm
from django import forms
'''管理员列表'''
def admin_list(request):
queryset = models.Admin.objects.all()
# 添加分页列表
page_object = Pagetions(request, queryset)
context = {
'queryset': page_object.page_queryset,
'page_string': page_object.html(),

}
return render(request, 'admin_list.html', context)

'''管理员删除'''
def admin_delete(request):
nid = request.GET.get('nid')
models.Admin.objects.filter(id =nid).delete()
return redirect('/admin/list/')


class AdminAddModelForm(BootstrapModelForm):
# 定义重复密码字段
confirm_pwd = forms.CharField(
label='重复密码',
# 加入插件 让重复密码变成密文
widget=forms.PasswordInput
)
class Meta:
model = models.Admin
fields = '__all__'
# 加入插件 让密码变成密文
widgets = {
'pwd': forms.PasswordInput,
}

# 验证密码 是否一致
def clean_confirm_pwd(self):
pwd = self.cleaned_data.get('pwd')
rpwd = self.cleaned_data.get('confirm_pwd')
if rpwd != pwd:
# 需要引入 from django.core.exceptions import ValidationError 才可以使用 ValidationError
raise ValidationError('密码不一致')
return rpwd


'''管理员添加'''
def admin_add(request):
title = '新建管理员'
if request.method == 'GET':
form = AdminAddModelForm()
return render(request, 'change.html', {"title": title, 'form': form})

form = AdminAddModelForm(data=request.POST)
if form.is_valid():
form.save()
return redirect('/admin/list')
return render(request, 'change.html', {"title": title, 'form': form})



html 代码  

{% extends 'layout.html' %}

{% block content %}

        
class="panel panel-default">
class="panel-heading"> class="glyphicon glyphicon-th-list" aria-hidden="true"> {{ title }}
"post" novalidate> {% csrf_token %} {% for field in form %}
class="form-group"> {{ field }} "color: #f90">{{ field.errors.0 }}
{% endfor %}
{% endblock%}

相关