0

我在我的django項目中上傳文件,我需要一個有效的方法來保存它們。目前,我在settings.py中使用以下行來在保存文件的根目錄中創建媒體文件夾。django中應用程序的媒體路徑

ENV_PATH = os.path.abspath(os.path.dirname(__file__)) 

MEDIA_ROOT = os.path.join(ENV_PATH, 'media/') 

但我想保存在app目錄中的文件。有沒有可能找到我的應用程序目錄的路徑?是否有可能,我應該如何改變上述路線來完成它?

將媒體文件添加到應用程序目錄或將它們存儲在根項目目錄中是正確的方法嗎?這是這裏最好的標準嗎?

回答

2

這可能不是一個好主意。您應該指定一個media文件夾,其中包含以您的每個應用命名的子目錄。

媒體文件,如靜態文件,理想情況下不應該與您的Django應用程序由同一個Web服務器提供服務,並且您的靜態+媒體服務器可能沒有乾淨的方式來爲每個應用程序目錄中的媒體目錄提供服務。

靜態和模板文件可以應用程序文件夾中的生活,因爲模板的APP_DIRS選項,如果設置爲True指示Django的從應用程序文件夾中加載模板和靜態文件由manage.py runserver命令提供,可以收集和提供服務通過manage.py collectstatic命令。對於媒體文件執行collectstatic命令是不可能的(技術上可以使用django-mediafiles,但這不是我推薦的)。

+0

謝謝。正是我需要的。 – krish

相關問題