BaseForm.__init__() получил неожиданный аргумент в виде ключевого слова 'my_username'

Когда я сделал простую форму входа в систему в django, я получил эту ошибку

я много искал, но ничего не нашел, прочитал много статей здесь и на github введите описание изображения здесь

вот мой код формы и код представления.

я сделал его с помощью html он работал, но в проекте django я создал файл с именем form.py

.

написал код один раз попытался запустить сервер получил эту ошибку

я попробовал поискать в документации django

может ли кто-нибудь помочь, пожалуйста

Вы не передаете данные форме в виде именованных параметров, вы передаете их в виде словареподобного объекта. На самом деле request.POSTrequest.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.

Вернуться на верх