要求用户在签出之前先完成个人资料信息

时间:2019-07-19 10:53:50

标签: python django

我是Django的新手,正在尝试创建我的第一个电子商务网站。

我有一个“用户”应用,用户可以去那里输入他们的姓名和地址。 我面临的问题是,我希望用户先完成配置文件,然后才能从购物车中结帐。如果用户尚未创建个人资料,我想将他们重定向到该网址。

我对认证的知识很少,所以请有人帮我提供一些线索

2 个答案:

答案 0 :(得分:0)

向用户模型添加一些内容

 class User(models.Model):
    ...
    profileComplete = models.BooleanField(default=False)

在填写完表格后,将profileComplete设置为True

然后创建一些middleware来检查配置文件是否完成,如果prfile不完整,则重定向用户。

另一种方法是创建一个decorator来检查User.profileComplete的值

答案 1 :(得分:-2)

如果您需要检查用户是否通过了身份验证,则可以使用以下代码

if request.user.is_authenticated:
    #some code here
else:
    return redirect('url to fill profile')

如果您需要检查用户个人资料中是否存在地址,可以使用

if request.user.address:
    #some code here
else:
    return redirect('url to fill profile')