bin*_*npy 6 python forms django
我需要帮助。如何处理具有多个输入字段值且名称相同的表单?并且只有一次查看,这实际上是针对基本问题的形式......我从/sf/answers/33488451/找到了这个方法的另一个想法:
relations = request.POST.getlist('relations')
Run Code Online (Sandbox Code Playgroud)
我该如何处理这一切?目前我正在使用<input type="radio"...
,但当然,如果它以一次形式具有相同的名称,它就无法工作。但是如果我使用: <input type="checkbox"...
,答案可以在一个问题中检查 1 个以上...
也许是这样的:
<input type="radio" name="answer-{{ question.id }}">
Run Code Online (Sandbox Code Playgroud)
我怎样才能在视图中看到所有内容?
解决了:
在我的测试中:
{% for question in questions %}
<input type="hidden" name="question" value="{{ question.id }}/>
{% for answer in question.get_answers %}
<input type="radio" name="answer-{{ question.id }}" value={{ answer.score }}>
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
views.py
questions = request.POST.getlist('question')
answers = [request.POST['answer-{}'.format(q)] for q in questions]
Run Code Online (Sandbox Code Playgroud)
以及它的结果:
['20', '19', '16', '13', '11', '10', '9', '8', '1']
['5', '2', '3', '4', '1', '4', '4', '2', '2']
Run Code Online (Sandbox Code Playgroud)
如果我理解正确的话,你需要实施多项选择吗?然后你可以在你的模板中这样做:
{% for answer in answers %}
<input type="checkbox" name="answer" id="answer{{ forloop.counter }}" value="{{ answer.id }}">
{% endif %}
Run Code Online (Sandbox Code Playgroud)
视野中的安迪:
answer = request.POST.getlist('answer')
for el in answer:
pass
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8742 次 |
最近记录: |