我正在使用 Django 构建一个简单的网络应用程序。我的用户分为多个组,例如 Group A、Group B 等。
我想做的是动态更新 urls.py 中的 urlpatterns 列表,这样我就可以在相同的 url 端点上有不同的 View .
例如,我想做这样的事情(我知道语法不对,只是为了演示我想要的东西)
urlpatterns = [
url(r'^$', views.homepage, name='homepage'),
url(r'^login/$', views.BaseLogin.as_view(), name='core.login'),
url(r'^logout/$', views.logout, name='core.logout'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
if request.user in groupA:
urlpatterns.append(url(r'^dash/', include('groupA.urls')))
else:
urlpatterns.append(url(r'^dash/', include('groupB.urls')))
我怎样才能最好地实现这一目标?
请您参考如下方法:
我认为这既不可能也不可取。您应该将此类逻辑放在 View 中。使两者都位于同一 View 中,并根据用户的组从属关系重定向或简单地将不同的内容放在 View 中。
