Vin*_*ent 2 django django-templates django-models django-forms django-views
我正在我的 django 项目中上传文件,我需要一种有效的方法来保存它们。目前我使用 settings.py 中的以下几行在我保存文件的根目录中创建媒体文件夹。
ENV_PATH = os.path.abspath(os.path.dirname(__file__))
MEDIA_ROOT = os.path.join(ENV_PATH, 'media/')
Run Code Online (Sandbox Code Playgroud)
但我想将文件保存在 app 目录中。是否可以找到我的应用程序目录的路径?是否有可能,我应该如何更改上述行来完成它?
将媒体文件添加到应用程序目录中还是将它们存储在根项目目录中是一种正确的方法吗?这里最好的标准是什么?
这可能不是一个好主意。您可能应该指定一个media文件夹,其中包含以您的每个应用程序命名的子目录。
媒体文件,如静态文件,理想情况下不应该由与您的 Django 应用程序相同的 Web 服务器提供服务,并且可能没有一种干净的方式通过您的静态+媒体服务器为每个应用程序目录中的媒体目录提供服务。
静态和模板文件可以存在于 app 文件夹中,因为模板具有APP_DIRS选项,当设置True为时指示 Django 从 app 文件夹中加载模板,静态文件由manage.py runserver命令提供,可以通过manage.py collectstatic命令收集和提供。collectstatic对媒体文件执行命令是不可能的(从技术上讲,使用django-mediafiles是可能的,但这不是我推荐的)。
| 归档时间: |
|
| 查看次数: |
1149 次 |
| 最近记录: |