国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

自定義Django Form中choicefield下拉菜單選取數(shù)據(jù)庫內(nèi)容實(shí)例

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

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

form.py為:

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

最后的解決辦法:

1.定義一個(gè)函數(shù)

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

2.在views.py的視圖函數(shù)中加入

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

收工!

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

補(bǔ)充知識(shí):django form表單select下拉菜單數(shù)據(jù)源實(shí)時(shí)更新(每次訪問獲取一次數(shù)據(jù)庫內(nèi)容)

重點(diǎn)是: Form類對(duì)象實(shí)例化的時(shí)候,在類里邊__init()__函數(shù)中加入重新更新select數(shù)據(jù)源

from django.shortcuts import render,redirectfrom app3 import modelsfrom app3 import formfrom django import formsfrom django.forms import widgets #靜態(tài)字段,value_list獲取列表[()]加元組返回值 class Fromdb(forms.Form): purpose = forms.CharField() user = forms.IntegerField( widget=widgets.Select() ) #保證每次訪問重新獲取最新數(shù)據(jù) 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下拉菜單選取數(shù)據(jù)庫內(nèi)容實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 辽源市| 河北省| 蒙山县| 牟定县| 北宁市| 洛阳市| 泌阳县| 锡林浩特市| 治县。| 万盛区| 昌宁县| 喜德县| 西藏| 突泉县| 礼泉县| 九龙县| 德惠市| 深圳市| 平阳县| 南乐县| 佛学| 聂拉木县| 达孜县| 蓝田县| 固镇县| 沈丘县| 华阴市| 麻城市| 锦州市| 金山区| 介休市| 阜新市| 吉首市| 上饶市| 龙游县| 凤城市| 攀枝花市| 赞皇县| 蕉岭县| 常德市| 广德县|