Django Form常用功能及程式碼示例
阿新 • • 發佈:2020-10-14
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>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。