使用django注册后如何重定向到用户个人资料

傻瓜

注册后,我正尝试将用户重定向到其个人资料。我不知道网址应该如何,应该以与urls.py中相同的方式编写或修改吗?我读了一些文章,他们谈到使用反向惰性参数,但我不确定这是否可行。我当前的个人资料网址使用包含姓氏和姓氏的字段。

views.py

   def addpatient(request):
        form = SignUpForm(request.POST)
        if form.is_valid():
            user = form.save()
            user.refresh_from_db()
            user.profile.first_name = form.cleaned_data.get('first_name')
            user.profile.last_name = form.cleaned_data.get('last_name')
            user.is_active = True
    
            user.save()
            user.profile.id=pk
    
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password1')
            messages.success(request, 'Account was created for ' + username)
            user = authenticate(username=username, password=password)
            login(request, user)
            return redirect('profile/<str:slug>/<int:pk>')
        else:
            form = SignUpForm()
        return render(request, 'core/signup.html', {'form': form})

models.py

class Profile(models.Model):
    username = models.CharField(max_length=50, blank=True)
    user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
    last_name = models.CharField(max_length=100, blank=True)
    first_name = models.CharField(max_length=100, blank=True)
    last_name = models.CharField(max_length=100, blank=True)
    slug = models.SlugField(max_length=200,null=True)

    def save(self, *args, **kwargs):
        self.slug = slugify(f"{self.last_name}-{self.first_name}")
        super(Profile, self).save(*args, **kwargs)

urls.py

urlpatterns = [
    path('profile/', profile, name='profile'),
    path('profile/<str:slug>/<int:pk>', profile, name='profilepk')
埃隆德支持莫妮卡

通过实际的值slug,并pk在您的重定向,它应该工作:

return redirect(f'/profile/{user.profile.slug}/{user.pk}')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

用户注册后,WordPress将重定向到个人资料页面

登录后如何重定向到用户个人资料页面?

Rails:在评论内重定向到用户的个人资料

Django-登录并重定向到用户个人资料页面

如何将新用户重定向到编辑个人资料页面

使用 ReWriteEngine 将用户个人资料页面重定向到物理页面

如何查看用户登录后是否将其重定向到他/她的个人资料(Rails教程,第9章)?

在用户的个人资料页面登录后 Laravel 重定向

如何使用Django显示用户个人资料?

单击用户名并重定向到个人资料

将用户重定向到其他模型中的某人个人资料时出错

Django登录重定向到密码重置页面,而不是个人资料页面

magento如何将结帐页面重定向到“编辑个人资料”页面

在使用Django进行用户注册时填写用户个人资料

如何使用重定向模式(无弹出窗口)从 Google Signin 获取个人资料信息?

如何基于uid创建用户个人资料并导航到个人资料页面?

如果帐户未在Symfony2中完成,则在首次登录后重定向到个人资料编辑页面

Django使用用户个人资料获取用户

Django - 如何在发送消息后显示用户的个人资料图片?

如何将我的用户详细资料的个人资料检索到用户的个人资料页面

django-注册用户后重定向到页面

Vue:如何导航到特定用户的个人资料

如何在Django上链接到用户的个人资料

如何允许用户在Django中编辑其个人资料?

如何访问Django模板中的用户个人资料?

如何正确更新Django中的用户个人资料

获取访问令牌后如何使用outh在twitter中获取用户个人资料?

Django:使用个人资料onetoonefield错误扩展用户模型

如何在Django中使用单一表单创建用户和个人资料?