Django genecric.FormView: Объект 'NoneType' не может быть вызван
Я пытаюсь создать очень простой FormView, но он говорит, что не может получить модель формы. Полная ошибка:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/usr/local/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.10/site-packages/django/views/generic/base.py", line 103, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/django/views/generic/base.py", line 142, in dispatch
return handler(request, *args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/django/views/generic/edit.py", line 144, in get
return self.render_to_response(self.get_context_data())
File "/usr/local/lib/python3.10/site-packages/django/views/generic/edit.py", line 74, in get_context_data
kwargs["form"] = self.get_form()
File "/usr/local/lib/python3.10/site-packages/django/views/generic/edit.py", line 39, in get_form
return form_class(**self.get_form_kwargs())
Exception Type: TypeError at /new-game/
Exception Value: 'NoneType' object is not callable
Форма:
class NewGameForm(ModelForm):
class Meta:
model = models.Game
fields = ['title', 'bank_money', 'player_starting_money', 'golden_card_amount']
Вид:
class NewGameView(generic.FormView):
template_name = 'games/create_game.html'
form = forms.NewGameForm
Обратите внимание, что сервер разработки django работает на linux docker container с python 3.10.7
Класс формы FormView задается атрибутом form_class
class, а не form
.
class NewGameView(generic.FormView):
template_name = 'games/create_game.html'
form_class = forms.NewGameForm
См. Обработка форм с помощью представлений на основе классов