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