0
私はラジオ入力で作成したアンケートを作成しています。 CMDでは、すべての必須ボタンが押されたわけではないので、radio入力をクリックするごとにrequest = POSTが返されますが、form.is_validはfalseです。私はそれを今変更しました、何も動作しない、それは今も要求しません。以下はフォームが生成されない/フォームが無線入力フォームの場合is_valid = 0
私のコードです:
forms.py
class introForm(forms.ModelForm):
class Meta:
model = Intro
fields = ['name','education','sex',]
models.py
class Intro(models.Model):
EDUCATION_CHOICES = (
('1','1'),
('2','2'),
('3','3'),
('4','4'),
('G','Graduate'),
('P','Professor')
)
SEX_CHOICES = (
('M','Male'),
('F','Female'),
)
name = models.CharField(max_length = 10)
education = models.CharField(max_length = 1,choices = EDUCATION_CHOICES)
sex = models.CharField(max_length = 1, choices = SEX_CHOICES)
views.py
def get_User_Info(request):
#form_class = introForm(request.POST)
if request.method == 'POST':
if form_class.is_valid():
name = request.POST['name']
print(name)
sex = request.POST['sex']
education = request.POST['education']
intro.objects.create(
name = name,
sex = sex,
education = education
)
intro.save()
print (connection.queries)
return HttpResponseRedirect("/vote/") #Save data and redirect
else:
form = introForm()
return render(request, 'Intro.html', {'introForm': form})
Intro.html#があるため急いで書きましたフォームは自分のためにレンダリングできませんオームの理由...
<!-- Survey/templates/Intro.html -->
<!DOCTYPE html>
{% load staticfiles %}
<html>
<body>
<form action="" method="post" id = "introForm">
<p><label for="name">Name:</label>
<input id=name type="text" name="subject" maxlength="15" required /></p>
<p><label for="sex">Sex:</label>
<input type="radio" name="Sex" value="M" required>Male
<input type="radio" name="Sex" value="F" required>Female</p>
<p><label for="education">Education:</label>
<input type="radio" name="Education" value="1" required>1
<input type="radio" name="Education" value="2" required>2
<input type="radio" name="Education" value="3" required>3
<input type="radio" name="Education" value="4" required>4
<input type="radio" name="Education" value="G" required>Graduate
<input type="radio" name="Education" value="P" required>Professor</p>
</form>
<input type="submit" value="Next" id = "next"/>
</body>
</html>
ありがとうございます!
ありがとう!フォームは現在レンダリングされていますが、POSTレスポンスはまだありません... –
フォームは確実にそのビューにポストしていますか?フォームアクションの属性を確認し、そのビューのURLを指していることを確認してください。 – zubhav
はい、それは...私はただチェックしました。 CMDはget/thewebpage /を表示し、それをクリックしても更新されません...編集:私はforms.pyを追加しました –