0

私はいたるところを見て、私が抱えているこの問題の答えを見つけることができないようで、誰かが助けてくれるのに十分親切であるかどうか疑問に思っていました。

選択肢自体(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 %}

私が取得しようとしているもの(<>はラジオボタンです)

 < > Text Question
 < > Multiple Choice
4

1 に答える 1

2

Q_TYPEテンプレートコンテキストにを渡すことができます。

views.py

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システムを使おうとしているはずです。

于 2012-06-30T22:26:59.257 に答える