【问题标题】:How do we make use of multiple user types in Django我们如何在 Django 中使用多种用户类型
【发布时间】:2020-10-03 18:34:21
【问题描述】:

我正在尝试创建一个具有两种用户类型的网络应用程序,即学生大学。我希望在登录后拥有不同的登录页面和不同的视图。他们需要有不同的权限。我希望大学能够列出自己。学生需要能够查看所有大学的列表。 最好的方法是什么?我阅读了其他答案,但找不到合适的解决方案来帮助我解决这个问题。
到目前为止,我已经设法利用内置的 User 模型进行身份验证,但我读到不建议这样做。

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('django.contrib.auth.urls')),
]

是否有任何网站解释了如何使用多个用户模型,因为我搜索它并没有找到它。我还是 Django 的新手,所以请帮帮我。任何能帮助我了解这一点的网站将不胜感激。

【问题讨论】:

    标签: django django-models django-views django-authentication web-frameworks


    【解决方案1】:

    我会使用 Django 提供的普通用户模型来处理登录。然后我会为大学创建一个单独的模型(因为大学不需要与用户相同的字段)。

    我只会扩展学生模型,可能会使用此处文档建议的两个选项之一 Extending User Model。 然后根据用户,将他们作为大学教职员工或学生分配到一个组中。然后给组一定的权限,并使用 Django auth 根据谁登录来管理和保护不同的视图。

    祝你好运

    【讨论】:

      【解决方案2】:

      这个问题是有道理的,但是如果您有一个用户表和另一个基于用户类型的用户权限表,那不是更好吗?

      【讨论】:

      • 是的,现在我已经开始研究这个了。这与我使用的方法完全相同。
      猜你喜欢
      • 1970-01-01
      • 2020-07-27
      • 2016-12-19
      • 2012-11-21
      • 2018-07-02
      • 2013-06-01
      • 2020-04-19
      • 2023-01-21
      • 1970-01-01
      相关资源
      最近更新 更多