Создать модель профиля для конкретного пользователя (Django 4.0)?Python

Программы на Python
Ответить
Anonymous
 Создать модель профиля для конкретного пользователя (Django 4.0)?

Сообщение Anonymous »

Кто-нибудь знает, как создать Профиль для пользователя после заполнения регистрационной формы??? (Джанго)
views.py:

Код: Выделить всё

class UserRegisterView(generic.CreateView):
form_class = SignUpForm #Imported from forms
template_name = 'registration/register.html'
success_url = reverse_lazy('login')

def form_valid(self, form):
response = super().form_valid(form)
return response
models.py

Код: Выделить всё

class Profile(models.Model):
user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
#rpg_class = models.CharField(max_length=100)

def __str__(self):
return str(self.user)

@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
if created:
Profile.objects.create(user=instance)

@receiver(post_save, sender=User)
def save_user_profile(sender, instance, **kwargs):
instance.profile.save()
Я попробовал это, и это не работает. Там написано что-то вроде

Код: Выделить всё

Internal Server Error: /CodeRPGappMain/register/
Traceback (most recent call last):
File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\django\db\backends\utils.py", line 89, in _execute
return self.cursor.execute(sql, params)
File "C:\Users\Admin\AppData\Local\Programs\Python\Python310\lib\site-packages\django\db\backends\sqlite3\base.py", line 328, in execute
return super().execute(query, params)
sqlite3.IntegrityError: NOT NULL constraint failed: CodeRPGappMain_profile.bio
Создать профиль вручную в администраторе не получится. Поэтому мне нужно, чтобы он создавался автоматически каждый раз, когда пользователь регистрируется, он уже создает пользователя, используя встроенные функции Django, но я после завершения необходимо создать собственный профиль модели для пользователя

Подробнее здесь: https://stackoverflow.com/questions/768 ... django-4-0
Ответить

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

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

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

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

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