自我学习: Django-用户登录+中间件

以form来做,因为form没有写入能力,比较安全

from django.shortcuts import render, HttpResponse, redirect
from app01 import models
from django import forms
from app01.utils.encrypt import md5

#form需自己定义“字段”
class LoginForm(forms.Form):
    name = forms.CharField(
        label="用户名",
        widget = forms.TextInput(attrs={
   "class": "form-control"})
    )

    pwd = forms.CharField(
        label="密码",
        widget=forms.PasswordInput(attrs={
   "class": "form-control"})
    )
    
	#数据库中密码md5加密,此处将输入的密码md5化,便于对比
    def clean_password(self):
        pwd = self.cleaned_data.get("pwd")
        return md5(pwd)

def login(request):
    """登录"""
    if request.method == "GET":
        form = LoginForm()
        return render(request, 'login.html', {
   'form': form})
    form = LoginForm(data=request.POST)
    if form.is_valid():
        #print(form.cleaned_data)
        admin_object = models.Admin.objects.filter(**form.cleaned_data).first()
        #form.cleaned_data为字典且键名与数据库中字段命名一致
        if not admin_object:   #判断语句,添加错误
            form.add_error("pwd", "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值