媒体文件不在cpanel上的Django应用中提供

时间:2018-09-08 20:55:59

标签: python django web-deployment

我的django应用在cpanel上运行(我不确定这是否是我的问题  django应用或cpanel服务器),则在设置调试模式True时。我可以看到所有媒体文件,例如配置文件图片或pdf文件等。但是,当设置调试模式False时,您将看不到该应用程序上的媒体文件。这是我在settings.py文件上的配置。

STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
    ]
STATIC_URL = '/static/'
STATIC_ROOT = '<app-directory>/public_html/static'

# Media files
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

# Crispy Form Theme - Bootstrap 3
CRISPY_TEMPLATE_PACK = 'bootstrap3'

# For Bootstrap 3, change error alert to 'danger'
from django.contrib import messages
MESSAGE_TAGS = {
    messages.ERROR: 'danger'
}

1 个答案:

答案 0 :(得分:1)

要部署生产服务器,您需要设置3项内容

  1. 停用DEBUG配置:

    DEBUG = False

这将禁用所有额外的开发功能。

  1. 在设置文件中定义静态根目录:

    STATIC_ROOT ='/ this / is / a / path / to / statics'

这表示所有静态文件应保存在哪里。

  1. 运行命令以收集所有静态文件:

    python manage.py collectstatic

这会将所有静态文件保存在STATIC_ROOT配置的目录中

有关部署的官方文档: https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/#static-root-and-static-url