中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Modelforms如何在Django中使用

發布時間:2021-03-31 17:49:01 來源:億速云 閱讀:126 作者:Leah 欄目:開發技術

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

from django.forms import ModelForm
 
 class Test(ModelForm):
   # 把那張表轉化成form組件
   class Meta:
 
     # 這個意思即是把Article轉化成form組件
     model = models.Article
 
     # 把表中的所有的字段都做轉化,這里也可以傳遞一個list,可以指定顯示某些字段
     fields = "__all__"
 
 # modelform組件的使用方法和forms組件的用法一樣,但是i如果要保存出數據的時候,可以直接調用save方法保存就可以了,無論是單表,一對多,還是多對多
 
 
     # 如果增加數據
     # form = Test(request.POST)
     # if form.isvalid():
     #   form.save()
     # 這樣就可以直接保存
 
 
 
 
     # 如果編輯數據,用下面的方法就可以把當前的對象的值渲染到form表單中,無論是單表,一對多,還是多對多
     # obj = models.Article.objects.all().first()
     # form = Test(instance=obj)
     # 上面是實現渲染數據到form表單
 
 
 
     # form = Test(request.POST,instance=obj)
     # if form.isvalid():
     #   form.save()
 
     # 這個就是實現更新操作,和增加操作唯一的區別就是通過instance傳遞一個要編輯的對象進去就可以了

Modelforms如何在Django中使用

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

我是用書、出版社,作者三張表來做這個聯系

首先下面這個函數是用來展示書籍信息

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

下面這個類就是modelform的類

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

下面這個函數是用來處理處理添加書籍的操作

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("出錯了")
      model_form_obj = test(request.POST)
 
      return render(request, "modelfrom_add.html", locals())

下面這個函數是用來處理編輯書籍的

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/")

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

孟州市| 墨脱县| 吴川市| 鄂伦春自治旗| 水富县| 温泉县| 印江| 湘阴县| 饶河县| 巴青县| 当阳市| 高碑店市| 黔东| 赤峰市| 西华县| 沐川县| 承德县| 徐汇区| 永丰县| 元江| 宜兰市| 汝城县| 达日县| 鄂伦春自治旗| 游戏| 鸡泽县| 长乐市| 蕲春县| 吴忠市| 江油市| 济源市| 乐平市| 阳原县| 左贡县| 嘉禾县| 华安县| 图木舒克市| 成都市| 安图县| 报价| 宜兰市|