user = models.OneToOneField(User, on_delete=models.CASCADE)
user_photo = models.ImageField(default='default.png', upload_to='media', verbose_name='Фотография')
def str(self):
return f'Профиль пользователя {self.user.username}'
и форма регистрации
def register(request):
if request.method == 'POST':
registerForm = UserRegistration(request.POST)
if registerForm.is_valid():
registerForm.save()
username = registerForm.cleaned_data.get('username')
messages.success(request, f'Аккаунт {username} создан, введите логин и пароль для автризации')
return redirect('login')
else:
registerForm = UserRegistration()
return render(request, 'accounts/register.html', {'form': registerForm})
Собственно порос вот в чем: что нужно изменить во views, чтобы при регистрации нового пользователя, создавалась его запись в таблице Profile?
registerForm.save() после сохранения создай. Или внутри формы
А как?
в соурсе коде откуда брал все должно быть
new_user = registerForm.save() new_user.profile = Profile.objects.create(...) new_user.profile.save() как простой пример
Спасибо
изучай доку джанго, там все есть 😁
Изучаю, н так и не нашел )
https://tutorial.djangogirls.org/ru/django_forms/#%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D1%8F%D0%B5%D0%BC-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B8%D0%B7-%D1%84%D0%BE%D1%80%D0%BC%D1%8B пример №4 http://github.com/amureki/django_faq - много полезного
Ок, почитаю
Обсуждают сегодня