【问题标题】:How to serve staticfiles in Django 2.* when DEBUG = False?当 DEBUG = False 时,如何在 Django 2.* 中提供静态文件?
【发布时间】:2018-08-24 15:03:03
【问题描述】:

我一直坚持在生产服务器上部署 Django 2.*。

当我设置时

DEBUG = False

管理页面中的样式只是停止由调试器或其他东西提供服务,我不知道如何提供静态文件。

我的设置\操作:

settings.py

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

urls.py

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

那么就

python manage.py collectstatic

管理员中没有样式=(

将不胜感激。

【问题讨论】:

  • 您应该添加您正在使用的网络服务器。因为它必须为静态文件提供服务。

标签: python django python-3.x


【解决方案1】:

有多种方法可以做到这一点,最常见的是配置您的 Web 服务器 (nginx/apache) 为您提供静态文件。

但是,如果您只想快速启动并运行,您可以考虑使用whitenoise。它易于设置并且在大多数情况下都能很好地工作。

【讨论】:

  • 谢谢!解决方案: pip install whitenoise then MIDDLEWARE = [ # 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware',
猜你喜欢
  • 2012-11-27
  • 2019-06-01
  • 2019-12-02
  • 2020-10-27
  • 2022-12-10
  • 2016-11-26
  • 1970-01-01
  • 1970-01-01
  • 2020-08-19
相关资源
最近更新 更多