av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

自定義Django Form中choicefield下拉菜單選取數據庫內容實例

瀏覽:65日期:2024-10-21 14:51:03

工作中遇到的問題,自定義了一個forms.form表單,某項需要作出下拉菜單,下拉菜單中的選項需要從數據庫(objectForm models)中提取.

form.py為:

class objectForm(forms.Form):pre = choicefield(lable = '工作')

最后的解決辦法:

1.定義一個函數

def get_object(request): r = [(’’, ’----’)] for obj in objectModels.objects.all(): r = r + [(obj.id, obj.name)] return r

2.在views.py的視圖函數中加入

form.fields[’pre’].choices = get_object(request)

收工!

百度了很多Django Form的問題都沒有得到解決,寫出來方便后來人。

補充知識:django form表單select下拉菜單數據源實時更新(每次訪問獲取一次數據庫內容)

重點是: Form類對象實例化的時候,在類里邊__init()__函數中加入重新更新select數據源

from django.shortcuts import render,redirectfrom app3 import modelsfrom app3 import formfrom django import formsfrom django.forms import widgets #靜態字段,value_list獲取列表[()]加元組返回值 class Fromdb(forms.Form): purpose = forms.CharField() user = forms.IntegerField( widget=widgets.Select() ) #保證每次訪問重新獲取最新數據 def __init__(self,*args,**kwargs): super(Fromdb,self).__init__(*args,**kwargs) self.fields['user'].widget.choices=models.Stu.objects.values_list('id', 'name') def formdb(request): stus = Fromdb() return render(request,'formdb.html',{'stus':stus})

以上這篇自定義Django Form中choicefield下拉菜單選取數據庫內容實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 日韩快播电影网 | 欧美亚洲一区二区三区 | 欧美视频中文字幕 | 亚洲精品国产第一综合99久久 | 一区二区三区在线看 | 久草视频在 | 精品国产91| 国产黄色在线观看 | 欧美亚洲国产日韩 | 九九九视频在线 | 日韩精品一区二区三区在线播放 | 91原创视频在线观看 | 国产一区二区三区视频免费观看 | 欧美日本一区二区 | 人干人操 | 免费黄色a级毛片 | 色婷婷亚洲国产女人的天堂 | 一区二区三区国产好 | 91精品国产综合久久精品图片 | 日本精品一区二区三区视频 | 国产伦精品一区二区 | 日韩成人在线免费观看 | 久久久国产视频 | 伊人最新网址 | 精品国产一区二区在线 | 91人人爽 | 亚洲精品乱码久久久久久黑人 | 久久激情网| 国产欧美日韩精品一区二区三区 | 国产日韩精品在线 | 九九在线精品视频 | 91 视频网站 | 不卡一区| 国产激情综合五月久久 | 夜夜爽99久久国产综合精品女不卡 | 久草久草久草 | 中文字幕成人av | 免费日韩av | 国产精品成人一区 | www国产成人免费观看视频,深夜成人网 | 国产精品欧美一区二区三区不卡 |