【发布时间】:2021-01-19 07:29:54
【问题描述】:
我想在单个页面中获取选定单选按钮的值。在这里解释一下是我在models.py文件中的代码
class Quiz(models.Model):
Description = models.CharField(max_length=200)
def __str__(self):
return str(self.Description)
class Question(models.Model):
Question_Text = models.CharField(max_length=500)
Option1 = models.CharField(max_length=100)
Option2 = models.CharField(max_length=100)
Option3 = models.CharField(max_length=100, blank=True)
Option4 = models.CharField(max_length=100, blank=True)
Answer = models.CharField(max_length=100)
QuizID = models.ForeignKey(Quiz, on_delete=models.CASCADE)
def __str__(self):
return str(self.Question_Text)
我希望用户从“Option1、Option2、Option3、Option4”字段中选择一个选项,并且我想获取所选单选按钮的值。
这是我的尝试:
disp.html
<form action="" method="post">
{% csrf_token %}
{% for q in question %}
{{ q.Question_Text }} <br>
<input type="radio" id="question_{{ q.Option1 }}" name="{{ q.id }}" value="{{ q.Option1 }}">
<label for="question_{{ q.Option1 }}">{{ q.Option1 }}</label> <br>
<input type="radio" id="question_{{ q.Option2 }}" name="{{ q.id }}" value="{{ q.Option2 }}">
<label for="question_{{ q.Option2 }}">{{ q.Option2 }}</label> <br>
{% if q.Option3 %}
<input type="radio" id="question_{{ q.Option3 }}" name="{{ q.id }}" value="{{ q.Option3 }}">
<label for="question_{{ q.Option3 }}">{{ q.Option3 }}</label> <br>
{% endif %}
{% if q.Option4 %}
<input type="radio" id="question_{{ q.Option4 }}" name="{{ q.id }}" value="{{ q.Option4 }}">
<label for="question_{{ q.Option4 }}">{{ q.Option4 }}</label> <br>
{% endif %}
{% endfor %}
<br> <input type="submit" class="btn btn-primary" value="Submit">
</form>
现在我想获取所选单选按钮的值。由于记录的数量可能会有所不同,因此我无法手动获取所选单选按钮的值,例如:
first = request.POST.get("11")
second = request.POST.get("18")
third = request.POST.get("19")
这里11,18和19是问题模型中记录的id字段的值。
所以我尝试使用 for 循环按以下方式执行此操作,但我得到“无”作为值。
view.py
def disp(request):
quiz = get_object_or_404(Quiz, id = 4)
question = get_list_or_404(Question, QuizID = quiz)
if request.method == "POST":
for q in question:
response = request.POST.get("q.id")
print(response)
return render(request, 'quiz/disp.html', {'question' : question, 'quiz' : quiz})
请帮助我获取所选单选按钮的值,或者如果有其他方法可以获取所选单选按钮的值,请建议我
【问题讨论】:
标签: python html django forms django-forms