我在为我的问题寻找解决办法,但它没有解决我的问题
我想在用户注册时创建其个人资料。
要注册,我使用CreateView
class UserRegisterView(generic.CreateView):
form_class = SignUpForm
template_name = 'registration/register.html'
success_url = reverse_lazy('login')
#this method doesn't work and I get
# `Profile.user" must be a "User" instance`
def form_valid(self,form):
Profile.objects.create(user=self.request.user)
我的个人资料模型如下所示:
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
#rest of fields like bio, social urls etc
我的主要观点是在用户创建帐户时自动创建用户的配置文件。 解决这个问题的最好办法是什么
我建议避免使用信号,因为你有一个表格
self.request.user仅当用户使用任何形式的身份验证(会话、令牌等)登录时才会返回用户对象
相关问题 更多 >
编程相关推荐