1. 程式人生 > 程式設計 >Django Form常用功能及程式碼示例

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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。