【发布时间】:2014-07-29 01:36:45
【问题描述】:
我有一个模型Question,其中包含问题列表。对于查询此表的结果,我想创建一个 CharField。这是我最初的尝试,没有任何错误,但没有显示任何内容:
def __init__(self, **kwargs):
super(QuestionnaireForm, self).__init__(**kwargs)
self.fields['questionnaire'] = dict()
questions = Question.objects.all()
for question in questions:
self.fields['questionnaire']['question' + str(question.pk)] = forms.CharField(widget=forms.TextInput(attrs=dict(placeholder=_("Answer"))), label=_(question))
在我的模板中我正在尝试:
<div class="questionnaire">
<h2>{% trans "Questionnaire" %}</h2>
{% if form.questionnaire %}
{% for question in form.questionnaire %}
<div class="row">
{% include "core/includes/field.html" with field=question %}
</div>
{% endfor %}
{% endif %}
</div>
在我的渲染输出中,我只看到:
<div class="questionnaire">
<h2>Questionnaire</h2>
</div>
如果我在Form.__init__ 中设置它们后运行logger.debug(self.fields['questionnaire']),我明白了:
DEBUG {'question1': <django.forms.fields.CharField object at 0x7ff76473d550>, 'question3': <django.forms.fields.CharField object at 0x7ff76473d990>, 'question2': <django.forms.fields.CharField object at 0x7ff76473d890>}
【问题讨论】:
-
你能给我们看看你的显示器吗?
-
@m170897017 抱歉,不确定您的意思,我已经添加了渲染输出和一些调试输出,以防您指的是什么。谢谢:)
标签: python django forms django-1.6