寒假日记4

Django之Form组件

寒假日记4_第1张图片

示例代码如下

model.py 

from django.http import HttpResponse
from django.shortcuts import render
from django import forms
from app01 import models


class LoginForm(forms.Form):
    username = forms.CharField(
        label="用户名",
        widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': "请输入用户名"})
    )
    password = forms.CharField(
        label="密码",
        widget=forms.PasswordInput(attrs={'class': 'form-control', 'placeholder': "请输入密码"})
    )


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():
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        print(form.cleaned_data)
        # 去数据库校验
        user_obj=models.UserInfo.objects.filter(username=username, password=password).first()
        # user_obj = models.UserInfo.objects.filter(**{form.cleaned_data}).first()
        if user_obj:
            return HttpResponse("success")
        else:
            return render(request, 'login.html', {'form': form, 'error':"用户名或密码错误!"})
    else:
        return render(request, 'login.html', {'form': form})

html

    
{% csrf_token %}
{{ form.username }} {{ form.username.errors.0 }}
{{ form.password }} {{ form.password.errors.0 }}
{{ error }}

摆了一天。

你可能感兴趣的:(django)