Djangoの新機能で、フォームからユーザーから2つの数字を受け取り、それらを使っていくつかの操作を行う簡単なDjangoアプリケーションを開発しようとしています。結果をHttp Responseで出力します。私のコードは以下の通りです:私は私のローカルホスト上でこのコードを実行するとDjango: "フォームオブジェクトに属性がありません..."というエラーが発生しました
class SimpleForm(forms.ModelForm):
a = forms.IntegerField(label='first')
b = forms.IntegerField(label='second')
def result(self):
return doSomething(self.a, self.b)
views.py
しかしclass MainPage(FormView):
template_name = 'simple.html'
success_url = '/result/'
form_class = SimpleForm
def form_valid(self, form):
return HttpResponse(form.result())
が、それは
SimpleForm object has no attribute 'a'
のようなエラーが発生します
forms.py
だから、何が問題なのですか?どうすれば私の "結果"機能でそれを使用するためにユーザー入力を得ることができますか?事前に
おかげで...
彼は ''でform_valid() '、そう'() '既にform.is_validを呼び出した'結果を()を呼び出す(OPは
FormView.form_valid
を使用しているので、自動的に呼び出されます)。ここでは、 'cleaned_data'を使ってデータの検証について確かめるほうがいいでしょうか? – Wilfried@Wilfried、そうです。私は逃しました。私はそれを言及するでしょう。ご意見ありがとうございます。 – falsetru
self.dataとself.cleaned_dataの違いは何ですか?私はどちらを好むべきですか? – qwerty