簡體   English   中英

如何在 Django 中實現多種用戶?

[英]How to Implement multiple kinds of users in Django?

我是 Django 的新手,所以如果我的問題看起來太基本,請多多包涵。 所以,我想為一種商店創建一個網絡應用程序,其中我有三種不同類型的用戶。

  1. 管理員(非超級用戶)可以:
    • 為賣家(代理)創建、查看、更新、刪除帳戶
    • 向他們發出庫存
  2. 賣家可以:
    • 向客戶出售庫存物品(客戶不能自己購買,只有賣家可以通過填寫表格來購買)
    • 賣家提交表格后應自動創建客戶帳戶,或者如果客戶已有帳戶,則應將購買添加到他們的帳戶中
  3. 顧客
    • 可以登錄並查看他們的帳戶

最好的方法是什么? 使用身份驗證組、配置文件模型或其他任何東西? 任何幫助都會很棒。 如果問題中的某些內容不是很清楚,我可以提供更多詳細信息。 謝謝。

Django 已經有一個解決方案: 一個Group [Django-doc] 一個用戶可以屬於零個、一個或多個組。 一個組可以有零個、一個或多個Permission [Django-doc]

這些權限可以由 Django 模型定義,例如所有模型都有權限,查看添加更改刪除某個模型的對象,但您也可以定義自定義權限,例如訪問某個頁面. 如果用戶所屬的組中至少有一個具有此類權限,則該用戶具有此類權限。

例如,您可以使用@permission_required裝飾器 [Django-doc]PermissionRequiredMixin [Django-doc]來強制只有具有所需權限的用戶才能看到給定的頁面。

因此,您可以為賣家、客戶等創建組。通常人們可以有多個角色,例如既是賣家又是客戶,因此通過權限框架優雅地解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM