Как исправить Невозможно преобразовать ключевое слово «имя пользователя» в поле. Возможные варианты: id, Profile_image, Python

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Как исправить Невозможно преобразовать ключевое слово «имя пользователя» в поле. Возможные варианты: id, Profile_image,

Сообщение Гость »


Я новичок в Django и у меня есть академический проект. Я расширил модель пользователя, добавив в нее несколько полей, и использовал их в форме, позволяющей пользователям входить в систему. Когда я пытаюсь это сделать, это работает, но когда я отправляю форму, я получаю эту ошибку: Невозможно преобразовать ключевое слово «имя пользователя» в поле. Возможные варианты: id, Profile_image, статус, пользователь, user_id

Я знаю, что этот вопрос повторяется, но все случаи, которые я видел, не были похожи на мой.

models.py

из django.contrib.auth.models импортировать пользователя из моделей импорта django.db STATUS_CHOICES = ( («'', 'Для чего вам нужна академия?'), («студент», «студент»), («учитель», «Учитель»), («автор», «Автор»), ) Профиль класса (модели.Модель): пользователь = модели.OneToOneField(Пользователь, on_delete=models.CASCADE) Profile_image = models.ImageField(null=True, default='profile.jpg') статус = модели.CharField( максимальная_длина = 150, выбор = STATUS_CHOICES, default='Как вы используете академию?', ) USERNAME_FIELD = 'user__username' защита __str__(сам): вернуть self.user.username views.py

из рендеринга импорта django.shortcuts из django.urls импортироватьverse_lazy из django.views.generic импорт CreateView из .forms импортировать RegisterUserForm # Создайте здесь свои представления. профиль защиты (запрос): вернуть рендер( запрос, 'common/profile.html' ) класс RegisterView (CreateView): form_class = РегистрацияПользователяФормы Success_url =verse_lazy('Вход') имя_шаблона = 'регистрация/register.html' urls.py

из пути импорта django.urls, включите из django.contrib.auth.views импортировать LoginView из .forms импортировать UserLoginForm от . импортировать представления URL-паттерны = [ path('login/', LoginView.as_view(authentication_form=UserLoginForm), name='login'), путь('регистрация/',views.RegisterView.as_view(), name='register'), путь('профиль/',views.profile, name='профиль'), путь('', include('django.contrib.auth.urls')), ] register.html

{% расширяет 'base.html' %} {% загрузки i18n %} {% блокирует контент %} {% транс 'Регистрация' % {% csrf_token %} {% включает 'common/form.html' с form=form %} {% перевести "Регистрация" %} {% контента в конце блока %} Это мой репозиторий на github: https://github.com/HamzaWaleedDV/e_academy

Надеюсь на вашу помощь.

Я пробовал решения этой проблемы:
Как исправить: невозможно преобразовать ключевое слово «пользователь» в поле. Возможные варианты: описание, конечное_время, идентификатор, начальное_время, заголовок. Ошибка Django
Ошибка: невозможно преобразовать ключевое слово «id» в поле

Невозможно преобразовать ключевое слово «имя пользователя» в поле. Выбор: город, идентификатор, телефон и т. д.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»