Django Form常用功能及代码示例

Django的Form主要具有一下几大功能:

  • 生成HTML标签
  • 验证用户数据(显示错误信息)
  • HTML Form提交保留上次提交数据
  • 初始化页面显示内容

views.py

from django.shortcuts import render

# Create your views here.

from django.forms import Form

from django.forms import widgets

from django.forms import fields

# 对form表单进行数据验证

class LoginForm(Form):

user = fields.CharField(required=True) # 不能为空

pwd = fields.CharField(min_length=18)

def login(request):

if request.method == "get":

return render(request, 'login.html')

else:

obj = LoginForm(request.POST)#request.POST拿到的是POST的数据

"""

is_valid

1. 获取当前类中所有的字段

-LoginForm实例化时候,放入

self.fields = {

'user':正则表达式,

'pwd':正则表达式

}

2.循环self.fields

flag = True

for k,v in self.fields.items():

k是:user,pwd

v是:正则表达式

input_value = requests.POST.get(k)

flag = False

return flag

"""

if obj.is_valid():

print(obj.cleaned_data)#字典数据

else:

# print(obj.errors)#返回的是个err对象

print(obj.errors)#返回的是个err对象

return render(request,'login.html')

login.html

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Title</title>

</head>

<body>

<h1>用户登录</h1>

<form action="/login/" method="POST">

{% csrf_token %}

用户名 <input type="text" name="user">

密码 <input type="password" name="pwd">

<input type="submit" value="提交">

</form>

</body>

</html>

以上是 Django Form常用功能及代码示例 的全部内容, 来源链接: utcz.com/z/317725.html

回到顶部