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