西遊之路——python全棧——Django的form組件初識

來源:互聯網
上載者:User

標籤:from   class   char   rect   錯誤   for   put   action   integer   

一、學習內容及歸納
 1 ‘‘‘ 2 Form組件 3     - 對使用者請求的驗證 4         - form 5         - Ajax 6     - 產生HTML代碼 7      8     a. 建立一個類 9     b. 類中建立對應欄位(包括Regex)10     c. GET11             - obj = Fr() 產生HTML代碼12     d. POST13             - obj = Fr(request.POST)14             - if obj.is_valid():   # 判斷是否驗證成功15                     obj.cleaned_data16               else:17                     obj.errors18 ‘‘‘
二、建立類
 1 # 建立類,對應欄位 2 from django import forms 3 from django.forms import fields 4 class F1Form(forms.Form): 5     user = fields.CharField(required=True, 6                             min_length=6, 7                             max_length=32, 8                             error_messages={ 9                                 ‘required‘: ‘使用者名稱不可為空‘,10                                 ‘min-length‘: ‘太短‘,11                                 ‘invalid‘: ‘格式錯誤‘   # 格式錯誤都用invalid12                             }13                             )14     pwd = fields.CharField(required=True,15                            min_length=20,16                            error_messages={17                                ‘required‘: ‘密碼不可為空‘18                            }19                            )20     age = fields.IntegerField(required=True)21     email = fields.EmailField(required=True)
三、views.py操作
 1 def f1(request): 2     if request.method == "GET": 3         # 產生HTML 4         obj = F1Form() 5         return render(request,‘f1.html‘,{‘obj‘:obj}) 6     else: 7         # u = request.POST.get("user")    # 非空,長度6到32 8         # p = request.POST.get("pwd")     # 非空,大於32 9         # a = request.POST.get("age")     # 非空,整數10         # e = request.POST.get("email")   # 非空,郵箱格式11         # print(u,p,a,e)12         obj = F1Form(request.POST)13         # obj.is_valid()是否全部驗證成功14         if obj.is_valid():15             # 使用者提交的資料16             print(obj.cleaned_data)17             return redirect(‘http://www.xiaohuar.com‘)18         else:19             # 驗證錯誤資訊20             print(obj.errors)21             return render(request, ‘f1.html‘, {‘obj‘: obj})
四、HTML操作
1 <form action="/f1.html" method="POST">2     <p>{{obj.user}}{{obj.errors.user.0}}</p>3     <p>{{obj.pwd}}{{obj.errors.pwd.0}}</p>4     <p>{{obj.age}}{{obj.errors.age.0}}</p>5     <p>{{obj.email}}{{obj.errors.email.0}}</p>6     <p><input type="submit" value="提交"></p>7 </form>

 

西遊之路——python全棧——Django的form組件初識

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.