我到处寻找,似乎无法找到我遇到的这个问题的答案,并且想知道是否有人愿意提供帮助。
我正在尝试将选项本身(Q_TYPE)显示为模板中的单选按钮列表。我尝试过“get_FOO_display”,但它似乎只显示附加到另一个值的内容。
以下是我最好的尝试以及我正在寻找的内容。如果有人能帮我解决这个问题,我会非常感激。即使是我应该寻找的关键词我也会感激。谢谢!
Models.py
Q_TYPE = (
('T', 'Text Question'),
('M', 'Multiple Choice'),
)
class Question(models.Model):
form = models.ForeignKey(Form)
textquestion = models.CharField(max_length=200, null=True, blank=True)
questiontype = models.CharField(('question type'), max_length=1, choices=Q_TYPE)
def __unicode__(self):
return self.textquestion
模板
{% for questiontype in q_type %}
{{ questiontype }} <input type="radio" name="{{ questiontype }}" id="" value="" /><br />
{% endfor %}
我想要的是什么(&lt;&gt;是一个单选按钮)
< > Text Question
< > Multiple Choice
答案 0 :(得分:2)
您可以将Q_TYPE
传递到模板上下文中,然后执行操作:
context = {'Q_TYPE': Q_TYPE}
return render(request, 'mytemplate.html', context)
{% for id, value in Q_TYPE %}
{{ value }} <input type="radio" name="{{ id }}" id="" value="" /><br />
{% endfor %}
或在循环变量上使用索引
{% for item in Q_TYPE %}
{{ item.1 }} <input type="radio" name="{{ item.0 }}" id="" value="" /><br />
{% endfor %}
但是,正如我在评论中提到的那样,您应该尝试使用内置的ModelForm
系统。