[英]How do I create / access dynamic form fields in Django from within a View?
我有一个保留大量“记录”的系统,需要集成一个组件,该组件将生成任何选定记录的报告。
对于用户,它看起来像这样:
对我来说,我认为:
但是从视图内部,我无法以想象的唯一方式访问表单数据。 由于我不知道哪个记录ID可用(因为某些记录ID可能已被删除,等等),我需要像这样访问它:
{{form.fields ['cid _'+ str(record.id)']}}
但这显然是非法的。
有人有建议吗?
如果我正确理解了您的问题,那么您的答案就在于使用适当的Django表单小部件。 我举一个例子。 假设您有Django模型:-
class Record(models.Model):
name = models.CharField()
假设您根据需要创建了一个自定义表单:-
class MyCustomForm(forms.Form):
records= forms.ModelMultipleChoiceField(queryset=Record.objects.all, widget=forms.CheckboxSelectMultiple)
假设您有以下观点:-
def myview(request):
if request.method == 'POST':
form = MyCustomForm(data=request.POST)
if form.is_valid():
#do what you want with your data
print form.cleaned_data['records']
#do what you want with your data
else:
form = MyCustomForm()
return render_to_response('mytemplate.html', {'form': form}, context_instance=RequestContext(request))
您的mytemplate.html
可能看起来像这样:-
<div>
{{ form.records.label_tag }}
{{ form.records }}
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.