teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

インデントを修正

2020/04/20 01:57

投稿

hasami
hasami

スコア1277

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  invalidが表示された場合、フォームのバリデーションに失敗していて、form_validメソッドは呼び出されません。
5
5
 
6
6
  ```python
7
- def post(self, request, *args, **kwargs):
7
+ def post(self, request, *args, **kwargs):
8
8
  form_class = self.get_form_class()
9
9
  form = self.get_form(form_class)
10
10
  if form.is_valid():
@@ -13,6 +13,6 @@
13
13
  else:
14
14
  print('invalid')
15
15
  response = self.form_invalid(form)
16
- return _ajax_response(
16
+ return _ajax_response(self.request, response, form=form,
17
- self.request, response, form=form, data=self._get_ajax_data_if())
17
+ data=self._get_ajax_data_if())
18
18
  ```

1

回答を追記

2020/04/20 01:57

投稿

hasami
hasami

スコア1277

answer CHANGED
@@ -1,1 +1,18 @@
1
- サインアップ後にページ遷移するための、クラス変数success_urlまたはget_success_urlメソッドを定義してますか?
1
+ サインアップ後にページ遷移するための、クラス変数success_urlまたはget_success_urlメソッドを定義してますか?
2
+
3
+ SignUpViewに以下のpostメソッドを追加した場合、validとinvalidのどちらが出力されますか?
4
+ invalidが表示された場合、フォームのバリデーションに失敗していて、form_validメソッドは呼び出されません。
5
+
6
+ ```python
7
+ def post(self, request, *args, **kwargs):
8
+ form_class = self.get_form_class()
9
+ form = self.get_form(form_class)
10
+ if form.is_valid():
11
+ print('valid')
12
+ response = self.form_valid(form)
13
+ else:
14
+ print('invalid')
15
+ response = self.form_invalid(form)
16
+ return _ajax_response(
17
+ self.request, response, form=form, data=self._get_ajax_data_if())
18
+ ```