为了账号安全,请及时绑定邮箱和手机立即绑定

如何强制用户在 Django 中完成他们的个人资料

如何强制用户在 Django 中完成他们的个人资料

小怪兽爱吃肉 2022-06-28 15:33:56
我设计了一个学习管理系统,客户可以参加课程、购买书籍和...... 在这个系统中,当用户想要注册课程时,被迫填写他们的个人资料信息。但是他们中的一些人不想注册课程,然后我就无法获得他们的信息。我想强制用户完成他们的个人资料并在他们的个人资料中输入所需的信息。例如我想要:系统向他们显示警告并强制他们在注册三天后完成他们的个人资料。我怎样才能做到这一点?注意:另一方面,我想阻止尚未完成个人资料的用户使用面板,直到他们完成个人资料。
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

您将需要实现一个中间件。在这个中间件中,您将获取您的用户并检查他们是否有个人资料,如果没有,则将他们重定向到个人资料页面,例如带有消息。


你的中间件看起来像这样


def check_userprofile_middleware(get_response):

    # One-time configuration and initialization.


    def middleware(request):

        # Code to be executed for each request before

        # the view (and later middleware) are called.


        If not hasattr(request.user, "profile"):

             redirect("complete-profile-page")


        response = get_response(request)


        return response


    return middleware

然后您需要将其添加到 settings.py 中的中间件部分以激活中间件。


查看完整回答
反对 回复 2022-06-28
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信