2017-05-30 129 views
0

我正在使用Django并希望从视图中传递变量以在表单中设置初始值。Django:通过变量设置初始值

我有以下观点:

def change_chosenCharity(request): 
    charityid=12 
    form = updateCharity(charityid) 
    return render(request, 'meta/changechosencharity.html', {'form': form}) 

随着以下形式:

class updateCharity(BootstrapForm): 

    currentCharities = forms.ModelChoiceField(queryset=Charity.objects.filter(enabled=1), empty_label=None,widget=forms.Select(attrs={"class": "select-format"})) 
    currentCharities.label = "Charity Options" 
    currentCharities.intial = charityid 

哪产生以下错误:name 'charityid' is not defined

我得知它没有在窗体中定义,但我尝试了各种选项来定义它没有成功。

任何帮助表示赞赏。

回答

1

您不要在窗体定义中声明它;这是没有道理的,因为你需要动态设置它。

相反,这样做,当你实例化视图的形式:

form = updateCharity(initial={'currentCharities': charityid})