BaseForm.__init__() получил неожиданный аргумент в виде ключевого слова 'my_username'
Когда я сделал простую форму входа в систему в django, я получил эту ошибку
я много искал, но ничего не нашел, прочитал много статей здесь и на github введите описание изображения здесь
вот мой код формы и код представления.
я сделал его с помощью html он работал, но в проекте django я создал файл с именем form.py
.написал код один раз попытался запустить сервер получил эту ошибку
я попробовал поискать в документации django
может ли кто-нибудь помочь, пожалуйста
Вы не передаете данные форме в виде именованных параметров, вы передаете их в виде словареподобного объекта. На самом деле request.POST
(и request.GET
) и т. д. уже являются словареподобными объектами:
def my_login(request):
user_data = LoginPage(request.POST, request.FILES)
# …
Но вы можете не использовать user_data.save()
: вы используете Form
, а не ModelForm
, поэтому у него нет метода .save()
. Вы можете проверить, используется ли user_data.is_valid()
, и если да, то обратиться к user_data.cleaned_data['my_username]
, чтобы получить данные, введенные для этого поля.
Примечание: Функции обычно пишутся в snake_case, а не PascalCase, поэтому рекомендуется рекомендуется переименовать вашу функцию в
my_login
, а не в.myLogin
Примечание: Обычно
Form
илиModelForm
заканчивается суффиксом…Form
, чтобы избежать коллизии с названием модели, и чтобы было понятно, что мы что мы работаем с формой. Поэтому, возможно, лучше использоватьLoginPageForm
вместо.Login_Page