加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Django表单缓存或重载问题

发布时间:2020-12-20 13:25:39 所属栏目:Python 来源:网络整理
导读:我有一个页面向db插入值. 插入后加载另一个页面,下拉列出了db值 但插入的值未在下拉列表中列出 问题不在于事务/提交等.以第二种形式检索下拉数据的查询是正确的. Form1(第一页) class Organization(forms.Form): orgList = getOrgUnitList() orgUnit = forms
我有一个页面向db插入值.
插入后加载另一个页面,下拉列出了db值
但插入的值未在下拉列表中列出

问题不在于事务/提交等.以第二种形式检索下拉数据的查询是正确的.

Form1(第一页)

class Organization(forms.Form):   
    orgList = getOrgUnitList()     

    orgUnit = forms.CharField(label=u'Organization Name',max_length=50,error_messages={'required':'Organization name is required field.'})
    parentOrg= forms.ChoiceField(label=u'Parent Organization',choices=[(u'Select',u'Select')]+orgList,error_messages={'required':'Organization name is required field.'})

Form2(第二页)

class User(forms.Form):    
    orgUnitList = getOrgUnitList()        

    email = forms.EmailField(label=u'Email',error_messages={'required':'Email is required field'})  
    orgUnit = forms.ChoiceField(label=u'Organizational Unit',choices=orgUnitList,error_messages={'required':'Organizational unit is required field'})

询问

def getOrgUnitList():
    orgUnitList = list(OrganizationUnit.objects.values_list
               ('OrgUnitID','OrgUnitName').order_by('OrgUnitName'))
    return orgUnitList

但当我试图绑定视图中的选择它是有效的
工作代码
*视图*

def user()
    template = get_template('AddUser.html')
    form = AddUser()     
    orgUnitList = getOrgUnitList()                    
    del objAdminUIDA
    form.fields['orgUnit'].widget.choices=orgUnitList
    variables = RequestContext(request,{'form':form})
    output = template.render(variables)
    del form
    return HttpResponse(output)

但我无法给出下拉选项,我希望在form.i需要一个解决方案

解决方法

首先,orgList在表单定义中进行评估,这就是选择不会改变的原因.您应该将getOrgUnitList放在表单的__init__中(或者在其他方法中).

其次,你没有将任何数据传递给表单,可能是你想要的

form = AddUser(request.POST or None)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读