2015-09-25 48 views
-1

我试图使我的生产分支调试错误。请帮我在这里。Django 1.8静态文件 - DEBUG = False

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路径有问题吗?请帮忙。

在此先感谢!

+0

刚一个FYI,Django文档[特别推荐](https://docs.djangoproject.com/en/1.8/ref/contrib/staticfiles/#static-file-development-view)在生产环境中使用'staticfiles'。 – Kellen

+0

是否有任何教程显示如何在Apache或Nginx上托管这些文件? –

+2

是的。该文档有完整的说明。 –

回答

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的一些服务器可以做到更好的性能,缓存,...等