2017-10-11 80 views
0

在我的模板中我有for循環。正如你可以看到每個單選按鈕的ID由{{stud.id}}重新設置。獲取Django模板中的選定單選按鈕

{{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) 

如果我點擊提交按鈕,我想轉到另一個頁面,顯示我的姓名和所選學生的姓氏。現在的問題是,而不是學生的名字和姓氏它顯示我只是寫在「上」

+0

是錯字還是錯過了關閉''標籤? –

+0

如果我在最後放上'',那麼我有一個「」警告「」「,即」結束標記是多餘的「。我認爲沒有必要。但即使我說了,我的問題也沒有解決 –

回答

1

單選按鈕需要有一個值。 (請注意,輸入的結束之後的部分是標籤,並且應該以label元件包圍。)

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

Signup.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

覆蓋SignUpForm

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() 
相關問題