簡體   English   中英

Django,項目結構

[英]Django, project structure

我目前正在研究一個django項目。 我不是django中的新手,但是在確定如何組織一些文件的最“混合”方式方面有一些困難。

我有一些計算東西的classe,可以從manage.py的cli和webservice應用程序中使用。 這些計算使用我的核心應用程序中的模型並調用數據庫。

我面臨的問題是我無法確定將源文件放在何處。

我不想把它們放在'lib'文件夾中。 我認為這個文件夾中的模塊將是django獨立模塊。

目前,該模塊是我的應用程序的模型。 但由於它沒有定義任何新的結構,我認為這不是最干凈的方式。

有什么意識到擁有一個尊重'django生活方式'的干凈結構?

謝謝

問題是,最“djangonic”的做法是不要有“核心應用程序”。 您應該努力將功能拆分為單獨的應用程序。 我完全清楚這並不總是微不足道的。

但是,假設您正在為學校設計Intranet網站。 您將有一個應用程序處理學生的帳戶,另一個應用程序生成時間表,另一個應用程序生成內部留言板等。每個應用程序定義自己的模型(沒有“項目級模型”),但應用程序可以導入彼此模型(因此留言板帖子可以有一個指向來自“學生”應用程序的學生的ForeignKey字段)。 不需要“主要”或“核心”應用程序(另請參閱: James Bennett的“編寫可重復使用的Django應用程序”演示文稿來自DjangoCon)

然后,您可以將管理命令放在命令處理的應用程序的management/commands目錄中。 例如,如果命令從數據庫中刪除舊學生,它將進入students應用程序內的management/commands

如果該模塊獨立於Django,那么它應該是一個獨立的Python包,並配有setup.py來安裝它。 使用它的Django模型和Web服務可以像任何其他外部依賴項一樣導入。

如果模塊依賴於你的Django應用程序,那么它應該在應用程序的目錄中。 如果它沒有定義新模型,那么它不應該在models.py

這回答了你的問題了嗎?

暫無
暫無

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

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