热门标签:
Q:

在django模板中获取选定的单选按钮

在我的模板中,我有for loop。 正如您所看到的,每个radiobutton的id由{{stud.id}}重新表示。

{{stud.nameAndSurname}}显示学生的名字和姓氏(在浏览器中我可以看到相应学生的名字和姓氏)。

<form method="POST" class="post-form">
        {% csrf_token %}
        {% for stud in students %}
            <input type="radio" id="{{ stud.id }}" name="student">{{ stud.nameAndSurname  }}
        {% endfor %}
    <button type="submit" class="save btn btn-default">GO!</button>
</form>

在我的view.py 我有:

 class MyClass(View):
     def get(...):
         ...

     def post(self,request, pk):
         myVar = request.POST.get("student")
         return HttpResponse(myVar)

如果我点击提交按钮,我想去另一个页面,显示我的名字和所选学生的姓氏。 现在的问题是,而不是学生的名字和姓氏,它显示了我简单地写"on"

原网址
A:

单选按钮需要有一个值。 (注意,输入结束后的部分是标签,应该用label元素括起来。)

<input type="radio" id="student_{{ stud.id }}" name="student" value="{{ stud.id }}">
<label for="student_{{ stud.id }}">{{ student.nameAndSurname }}</label>

所有回答

共 1 条

author avatar

注册。html django模板

<div id="row type-select">
    {% for choice in form.option %}
        <div class="col s12 m4 l4 center-align">
          {{ choice.tag }}
           <label for="{{ choice.id_for_label  }}">{{ choice.choice_label }}</label>
        </div>
    {% endfor %}
</div>

forms.py

从django-allauth重写注册表单

CHOICES=[('1','type 1'),
         ('2','type 2'),
         ('3','type 3')]

class SignupForm(forms.Form):
    option = forms.ChoiceField( widget=forms.RadioSelect,choices=CHOICES)
    first_name = forms.CharField(max_length=30, label='name')
    last_name = forms.CharField(max_length=30, label='last name')

    def signup(self, request, user):
        user.first_name = self.cleaned_data['first_name']
        user.last_name = self.cleaned_data['last_name']
        user.save()

相似问题