3 回答

TA貢獻1898條經驗 獲得超8個贊
這種問題我在不同的平臺上問了很久。常見的答案是
如果你想重用它,然后創(chuàng)建一個應用程序,或者如果你不想,那么你不需要制作一個單獨的應用程序
讓我給你舉個例子。如果您的項目具有以下功能
分享圖片
分享文字
評論媒體和文字
贊成和反對選項
在這里,用戶可以分享圖像或文本,其他人可以對其進行評論或點贊/反對。在這種情況下,如果您將評論設置為單獨的應用程序,并將 Upvote/Downvote 設置為單獨的應用程序,那么將來如果您必須添加視頻以及圖像和文本,那么您只需將視頻鏈接到評論應用程序和 Upvote/DOwnvote 應用程序,即與包含所有內容的大型應用程序相比,任務會更少。您也可以相應地管理您的數(shù)據庫。
在您的情況下,您可以制作(例如),
自定義用戶(幫助您將來添加額外權限)
產品類別(幫助您添加更多類別或子類別)
產品或銷售等。
對于許多管理員來說,當您將這些應用程序添加到 settings.py 時,并且如果您在每個應用程序中分別編輯 admin.py,一切都會毫不費力地出現(xiàn)在您的管理面板中。
對于許多視圖,您可以將所有模型導入任何應用程序的 views.py 或在其應用程序中單獨使用它。它不會造成任何問題。urls.py 和 forms.py 等也是如此。

TA貢獻1946條經驗 獲得超4個贊
為了您的解決方案,我會建議你創(chuàng)建多個應用程序,包含它自己的每個應用程序view.py,models.py和urls.py。您可以做的是,為用戶創(chuàng)建一個單獨的應用程序,其中將包含 User 模型(如果您決定覆蓋 django 提供的現(xiàn)有用戶模型)和所有與用戶相關的視圖(例如登錄、注冊等)。我建議您也為 Role 創(chuàng)建一個單獨的模型,該模型將包含系統(tǒng)中的所有角色。每當您決定添加新角色時,發(fā)出一條管理命令,將在該表中添加角色。創(chuàng)建一個枚舉類型類,如:
class Role(enum.Enum):
ADMIN = 1
USER= 2
labels = {
ADMIN: "Admin",
USER: "User"
}
所以Role表中的第一個條目將是 Adminpk=1等等。
這是一個關于如何創(chuàng)建模型并將事物分開的想法。您可以將user一個單獨的應用程序關聯(lián)到您sales應用程序中的一個表,因為這不會給您帶來任何問題并保持代碼可讀和整潔。

TA貢獻1802條經驗 獲得超10個贊
為了您自己的理智,請選擇多個應用程序。
只需先將它們布置好,然后弄清楚應該在一個應用程序中合乎邏輯地組合在一起的內容以及應該放在下一個應用程序中的內容。
您想避免遇到循環(huán)導入!
跨應用程序的外鍵完全沒有問題?;旧希灰谀P椭械娜魏挝恢檬褂?USER,您就會跨應用程序邊界進行引用。
添加回答
舉報