真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Modelforms如何在Django中使用-創(chuàng)新互聯(lián)

這篇文章給大家介紹Modelforms如何在Django中使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、冀州網(wǎng)絡(luò)推廣、小程序定制開發(fā)、冀州網(wǎng)絡(luò)營銷、冀州企業(yè)策劃、冀州品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供冀州建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
from django.forms import ModelForm
 
 class Test(ModelForm):
   # 把那張表轉(zhuǎn)化成form組件
   class Meta:
 
     # 這個(gè)意思即是把Article轉(zhuǎn)化成form組件
     model = models.Article
 
     # 把表中的所有的字段都做轉(zhuǎn)化,這里也可以傳遞一個(gè)list,可以指定顯示某些字段
     fields = "__all__"
 
 # modelform組件的使用方法和forms組件的用法一樣,但是i如果要保存出數(shù)據(jù)的時(shí)候,可以直接調(diào)用save方法保存就可以了,無論是單表,一對多,還是多對多
 
 
     # 如果增加數(shù)據(jù)
     # form = Test(request.POST)
     # if form.isvalid():
     #   form.save()
     # 這樣就可以直接保存
 
 
 
 
     # 如果編輯數(shù)據(jù),用下面的方法就可以把當(dāng)前的對象的值渲染到form表單中,無論是單表,一對多,還是多對多
     # obj = models.Article.objects.all().first()
     # form = Test(instance=obj)
     # 上面是實(shí)現(xiàn)渲染數(shù)據(jù)到form表單
 
 
 
     # form = Test(request.POST,instance=obj)
     # if form.isvalid():
     #   form.save()
 
     # 這個(gè)就是實(shí)現(xiàn)更新操作,和增加操作唯一的區(qū)別就是通過instance傳遞一個(gè)要編輯的對象進(jìn)去就可以了

Modelforms如何在Django中使用

簡單的用了一下model_forms,覺得還是不是很好用

我是用書、出版社,作者三張表來做這個(gè)聯(lián)系

首先下面這個(gè)函數(shù)是用來展示書籍信息

def test_models(request):
  method = request.method.lower()
  if method == "get":
    body_list = []
    obj = models.Book.objects.all()
 
    head_list = models.Book._meta.get_fields()
 
    for i in obj:
      temp = []
      temp.append(i.bid)
      temp.append(i.title)
      temp.append(i.publish)
      temp.append(i.auther.all())
      body_list.append(temp)
    return render(request,"modelform_html1.html",locals())
  else:
    pass

下面這個(gè)類就是modelform的類

class test(ModelForm):
class Meta:
model = models.Book
fields = "__all__"
labels = {"title":"書籍的名稱","auther":"作者","publish":"出版社"}
error_messages = {
"title":{"required":"不允許為空",
"invalid":"格式錯(cuò)誤"
}
}
widgets = {
"title":wd.TextInput(attrs={"placeholder":"密碼"})
}
 
field_classes = {
"title":forms.EmailField
}

下面這個(gè)函數(shù)是用來處理處理添加書籍的操作

def add(request):
  method = request.method.lower()
  if method == "get":
    model_form_obj = test()
    for i in model_form_obj:
      print(i.label_tag(),"----------------------")
    return render(request,"modelfrom_add.html",locals())
 
  else:
    model_form_obj = test(request.POST)
    if model_form_obj.is_valid():
      model_form_obj.save()
 
      return redirect("/app2/test_models/")
    else:
      print("出錯(cuò)了")
      model_form_obj = test(request.POST)
 
      return render(request, "modelfrom_add.html", locals())

下面這個(gè)函數(shù)是用來處理編輯書籍的

def edit(request):
  method = request.method.lower()
  book_obj = models.Book.objects.get(bid=int(request.GET.get("id")))
 
  if method == "get":
    model_form_obj = test(instance=book_obj)
    return render(request,"modelfrom_add.html",locals())
  else:
    model_form_obj = test(request.POST,instance=book_obj)
    model_form_obj.save()
    return redirect("/app2/test_models/")

關(guān)于Modelforms如何在Django中使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


名稱欄目:Modelforms如何在Django中使用-創(chuàng)新互聯(lián)
文章出自:http://weahome.cn/article/dejeho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部