python-day97--django-ModelForm

來源:互聯網
上載者:User

標籤:idg   ror   利用   rtc   length   attrs   djang   pre   text   

Model Form :直接利用你的models裡的欄位            應用情境:            - ModelForm - 中小型應用程式(model是你自己寫的)            - Form      - 大型應用程式          注意事項:            - 1. 類                   from django.shortcuts import render,redirect,HttpResponse                  from app01 import models                  from django.forms import Form,ModelForm                  from django.forms import fields                  from django.forms import widgets as wd                                    class Foo(ModelForm):                                      title = fields.CharField(max_length=6,required=True,widget=wd.Textarea())  #可以自訂欄位,如果該欄位與下面的表內的欄位不衝突,那就會增加一個,如果衝突就會覆蓋下方類中的欄位                                        class Meta:                        # model = models.Role      #Role表內的所有欄位就直接拿過來了                        # fields = "__all__"        #指定欄位                        # fields = [‘caption‘,]        #指定欄位                        # exclude = [‘catpion‘]        #指定欄位                        model = models.UserType                        fields = "__all__"                        error_messages = {                            ‘title‘:{‘required‘:‘名稱不可為空‘,‘invalid‘:‘格式錯誤‘}                        }                        widgets = {                            ‘title‘:wd.TextInput(attrs={‘class‘:‘c1‘})                        }                                                            # 鉤子函數                            - 2. 添加                 GET:                    form = Foo()                 POST:                    form = Foo(data=request.POST)                    form.is_valid()                                        form.cleaned_data                    form.save()      #直接把乾淨的資料幫你建立了記錄,無論是單表還是多表                                        form.erros                                - 3. 修改                 GET:                    form = Foo(instance=obj)                                       POST:                    form = Foo(instance=obj,data=request.POST)   #如果不寫instance=obj資料庫會多增加一條記錄不會修改,給它一個對象表示向對象修改資料                    ...                    form.save()

 

python-day97--django-ModelForm

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.