Apache Django 静态文件不提供 DEBUG=False [重复]

Posted

技术标签:

【中文标题】Apache Django 静态文件不提供 DEBUG=False [重复]【英文标题】:Apache Django static files not serving DEBUG=False [duplicate] 【发布时间】:2016-11-26 13:38:55 【问题描述】:

我有一个网站在 settings.py 中 DEBUG=True 时运行良好,但是当我更改 DEBUG=False 时它停止提供静态文件。

来自 settings.py

STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static_dir"),
)
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

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

来自 urls.py

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

来自 base.html

% load staticfiles %
<!-- Cerulean theme -->
<link rel="stylesheet" href="% static 'bootstrap.min.css' %">

【问题讨论】:

【参考方案1】:

部署项目时需要额外的命令:

$ python manage.py collectstatic

检查docs

【讨论】:

我已经这样做了

以上是关于Apache Django 静态文件不提供 DEBUG=False [重复]的主要内容,如果未能解决你的问题,请参考以下文章

django 1.6 使用别名和 apache 提供静态管理文件

无法让 Apache 为 django 管理静态文件提供服务

配置 STATIC_ROOT 时 Django 不提供静态文件

django 在 apache 和 nginx 上提供媒体文件

Django:如何在生产中的apache服务器上部署静态文件

Django apache管理静态文件