Django - 根据组重定向登录

2024-03-28 21:12:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在从事一个Django项目,它有许多用户组。登录后,我希望将每个用户重定向到为该组创建的唯一页面。在

我已经创建了登录功能,但在我的生活中,我无法想出如何根据组重定向。如果有更有效的方法来做这件事,我也愿意接受其他建议。在

每个组都有一个单独的页面的原因是权限范围很广。我不想让用户看到他们无法访问的选项。在

提前谢谢。在

----编辑----

为了扩展上面的语句,我扩展了用户模型以包含一些需要的参数,并将AUTH_user_model设置为'user'_配置文件。用户'(为扩展用户模型创建的应用程序)设置.py. 在

在视图.py,我试图基于下面的代码基于用户组重定向;但是,当重定向时,我收到一个AttributeError,声明“type object user没有属性‘groups’”。在html模板中,我可以访问{{用户组.all.0}}正确。在

从视图.py在

from django.shortcuts import render, render_to_response, RequestContext
from django.contrib.auth.decorators import login_required

from User_Profile.models import User

@login_required
    def home(request):
if User.groups.filter(name='group1') == True:
    return render_to_response("home.html", locals(),
                      context_instance=RequestContext(request))
else:
    return render_to_response("login.html", locals(),
              context_instance=RequestContext(request))

Tags: to用户frompyimportresponserequesthtml
1条回答
网友
1楼 · 发布于 2024-03-28 21:12:03

您是否考虑过,与其有许多不同的模板,不如使用一个模板,用django的模板语言就可以了

{% if user.permission %}
    <!  whatever needs to be put here based on the user's permission  >
{% endif %}

相关问题 更多 >