我被困在我的django项目,我使用django默认登录系统,这里一切都很好,我有3个用户,第一个得到一个“管理面板”,第二个得到一个“捕捉信息面板”,第三个只能看到其他2个用户打印的内容。在
我的问题是:
我需要什么来授予每个用户权限? 如何将每个面板重定向到各自的用户?在
另外,我已经有了每个面板的模板及其URL和视图,但我不知道如何显示它们。在
提前感谢您花时间回答这个新手的问题,但是我一周前才开始使用这个框架。在
更新
现在我得到了一个404错误,而不是得到我应该重定向的页面。在
这是我的网址.py在
from django.conf.urls import patterns, include, url
from .views import PanelRedirectView,PanelCapturista
urlpatterns = patterns('',
url(r'^$' , 'django.contrib.auth.views.login', {'template_name':'inicio/index.html'},
name='login'),
url(r'cerrar/$' , 'django.contrib.auth.views.logout_then_login', name='logout'),
url(r'^panel-capturista/$' , PanelCapturista.as_view() , name="panel-capturista"),
)
我的观点
^{pr2}$
我需要什么来授予每个用户权限?
在这里,您需要为每种类型的用户(https://docs.djangoproject.com/en/dev/topics/auth/default/#groups)设置一个组。E、 G.“超级用户”、“普通用户”和“受限用户”。可以在Django管理控制台中创建这些组,然后可以使用相同的Django管理控制台(https://docs.djangoproject.com/en/dev/topics/auth/default/#managing-users-in-the-admin)将每个用户分配到各自的组。在
如何将每个面板重定向到各自的用户?
您将需要定义一个RedirectView,它根据用户分配的组(https://docs.djangoproject.com/en/dev/ref/class-based-views/base/#redirectview)将用户的请求转发到预期的“panel”视图。在
然后可以使用Joran描述的注释来限制对重定向到的特定视图的访问。我描述的示例使用基于限制的用户组,而他的回答使用基于用户权限的限制。在处理类似于您所描述的简单权限方案时,这更多的是个人偏好。在
*更多详情*
要在登录时重定向用户。。。在
在中为重定向视图创建命名的url网址.py在
url(r“^panel redirect/$”,PanelRedirectView.as_视图(),name=“panel redirect”),
在中更改登录\u重定向\u URL设置.py登录时指向此重定向视图
LOGIN_REDIRECT_URL=reverse('panel-REDIRECT')
当用户登录时,他们将被重定向到RedirectView,而RedirectView又会根据他/她的分配组将其重定向到正确的面板
比如说改头换面
相关问题 更多 >
编程相关推荐