我正在使用Django版本-2.0.6。 并在Google计算引擎VM实例上运行服务器。
我的apache文件未配置为以不同方式为生产基础服务器和本地设置服务器。 当前,这些设置是从base.py和local.py运行的。
我已经这样配置了我的媒体和静态文件:
我的设置模块(base.py和local.py):
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
STATIC_ROOT = os.path.join(os.path.dirname(os.path.dirname(BASE_DIR)), "static-root")
MEDIA_URL = '/media/'
MEDIA_DIR = os.path.join(BASE_DIR,'media')
MEDIA_ROOT = os.path.join(os.path.dirname(os.path.dirname(BASE_DIR)), "media-root")
我的urls.py:
urlpatterns = [
....
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
当我尝试上传任何媒体文件时,它不会保存在“ MEDIA_ROOT”位置,而是会保存在“ MEDIA_DIR”中。
如何在生产环境中提供media_root和media_dir?(/ var / www / venv)
静态文件可以正常工作。
层次结构:
/var/www/ ----->media-root
>static-root
>venv--->src--->manage.py
>media
>static
>other apps & settings