2015-09-25 46 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的一些服務器可以做到更好的性能,緩存,...等