我是Django的新手,我试图将使用django-tables2呈现的html表中的值传递给表单。
view.py
def configView(request):
form = ConfigForm(request.POST or none)
if form.is_valid():
save_it = form.save(commit=False)
save_it.save()
Messages.success(request, 'Configuracion Actualizada')
return HttpResponseRedirect('/monitor/')
return render_to_response("config.html",
locals(),
context_instance=RequestContext(request))
这是我的forms.py
class ConfigForm(forms.ModelForm):
class Meta:
model = Config
def __init__(self, *args, **kwargs):
super(ConfigForm, self).__init__(*args,**kwargs)
self.fields['id_proveedor'].initial = kwargs.pop('id_proveedor',None)
但我不知道如何检索并将值传递给表单。 我需要传递来自单元格0,2和6的值。
任何建议或片段都将受到赞赏。
提前致谢
答案 0 :(得分:0)
我会试试这个:
类ConfigForm(forms.Form):
def __init__(self, *args, **kwargs):
your_variable_to_pass = kwargs.pop("your_variable_to_pass")
super(ConfigForm, self).__init__(*args,**kwargs)
self.fields['id_proveedor']= forms.FieldClass(attribute=your_variable_to_pass)
id_proveedor = FieldClass()
其中,' FieldClass'是你选择的任何领域(即ChoiceField,CharField)和 attribute是要传递的属性(您的变量),即' choice',' initial'等等 因此,它可能看起来像这样: self.fields [' id_proveedor'] = forms.ChoiceField(choices = your_variable_to_pass)
id_proveedor = ChoiceField()
然后,在视图中:f = ConfigFrom(request.POST,your_variable_to_pass = your_variable_to_pass)
我希望,这有帮助!