日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Web开发-Django表单

發布時間:2024/4/11 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Web开发-Django表单 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Django表單

  • 簡述
    • 雖然在Django的核心組件中沒有看到表單的影子,但是熟悉Web開發的都知道,表單控制是至關重要的。
    • 表單一般放在某個app目錄下的forms.py文件中。
  • 基本操作
    • 表單綁定狀態
      • Django為繼承自Form類的表單維護了一個綁定(bound)狀態。
      • 如果一個表單對象在實例化后被賦予過數據內容,則稱該表單出于bound狀態。只有處于bound狀態的表單才具有數據驗證功能(validate data)功能。
      • 如果未被賦予過數據內容,則表單處于unbound狀態。只有處于unbound狀態的表單才能被賦予數據,使表單變為bound狀態。
      • 可以通過Form對象的is_bound查看表單狀態。
    • 表單數據驗證
      • 在服務端利用Python代碼驗證表單數據的合法性,分為兩類。
        • 字段屬性驗證
          • 驗證表單中的字段是否符合特定的格式要求,如非空字段是否賦值。
        • 自定義邏輯驗證
          • 驗證開發者自定義的一些要求。
    • 檢查變更字段
      • 當收到用戶表單數據的POST請求時,經常需要驗證用戶是否修改了表單數據然后進行相應的處理,Django的Form提供了has_changed()來判斷用戶是否修改過表單數據。
  • 嘗試使用
    • 源碼
    • views.py
      • def formtest(request):form = UserForm()return render(request, 'render.html', {'user': form})def hello(request):form = UserForm(request.POST)if form.is_valid():return HttpResponse("Hello World!!!")else:return HttpResponse("Error")
    • forms.py
      • from django.forms import ModelForm, ValidationErrorfrom app2.models import Userclass UserForm(ModelForm):class Meta:model = Userfields = '__all__'def clean(self):cleaned_data = super(UserForm, self).clean()name = cleaned_data.get("name")if name is None or name == "":raise ValidationError("輸入name")return cleaned_data
  • 補充說明
    • 具體介紹了表單的相關內容
    • 本項目參考書為《Python高效開發實戰》劉長龍著
    • 使用到的所有重要包會列在requirements.txt文件中
    • 具體代碼可以查看我的GitHub,歡迎star或者fork
    • 關于admin定制即個性化管理員站點這里不敘述了,我自己也曾經用Django開發過一個購票Demo,可以查看我的Github

總結

以上是生活随笔為你收集整理的Web开发-Django表单的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。