【问题标题】:Django 1.8 static files - DEBUG = FalseDjango 1.8 静态文件 - DEBUG = False
【发布时间】:2015-09-25 04:47:15
【问题描述】:

我正在尝试为我的生产分支设置错误的调试。请帮帮我。

urls.py

urlpatterns = patterns('',
    url(r'^', include('app.urls', namespace = 'app')),
)+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

urlpatterns += staticfiles_urlpatterns()

from django.conf import settings
import os

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^static/', 'django.views.static.serve',
         {'document_root': os.path.join(os.path.dirname(__file__), 'static')} ),
    )

local.py

DEBUG = False
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)

production.py

DEBUG = False TEMPLATE_DEBUG = False

base.py

   DEBUG = False
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    STATIC_ROOT = 'staticfiles'
    STATIC_URL = '/static/'

    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, 'static'),
    )

为什么我的 CSS 文件仍未加载? urls.py 中提到的我的 css 路径有问题吗?请帮忙。

提前致谢!

【问题讨论】:

  • 仅供参考,Django 文档specifically recommend against 在生产中使用staticfiles
  • 是否有任何教程说明如何在 apache 或 Nginx 上托管这些文件?
  • 是的。文档有完整的说明。

标签: python css django static django-urls


【解决方案1】:

这正是你要求它做的事情。

if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^static/', 'django.views.static.serve',
         {'document_root': os.path.join(os.path.dirname(__file__), 'static')} ),
    )

你设置DEBUG = False。这在生产中当然是正确的!

Django 只能在开发中为快速开发过程提供静态文件,但提供静态文件不是它的工作,但是像 nginx 这样的一些服务器可以提供更好的性能、缓存等。

【讨论】:

    猜你喜欢
    • 2012-11-27
    • 2016-11-26
    • 2019-06-01
    • 2012-09-28
    • 2016-01-13
    • 2019-12-02
    • 2015-04-11
    • 2020-10-27
    • 2018-08-24
    相关资源
    最近更新 更多