2016-07-31 94 views
0

我無法讓Django爲我的html模板加載我的CSS。我知道有很多像這樣的帖子,如herehere,但我不確定還有什麼要做,因爲我嘗試了幾種這些類型的解決方案無濟於事。Django爲什麼不加載我的靜態CSS文件?

[31/Jul/2016 01:58:29] "GET/HTTP/1.1" 200 1703 
[31/Jul/2016 01:58:29] "GET /static/css/about.css HTTP/1.1" 404 1766 

我不知道如果在日誌中的第二行的末尾404指的是一個404錯誤或不:

使用python manage.py runserver返回此日誌裝載了我的網站。

我曾嘗試添加靜態文件到我的urls.py

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^$', TemplateView.as_view(template_name='about.html')) 
] 

urlpatterns += staticfiles_urlpatterns() 

我試圖改變我的settings.py

STATIC_ROOT = '' 

STATIC_URL = '/static/' 

STATICFILES_DIR = os.path.dirname(os.path.abspath(__file__)) + "/static/" 

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder' 
) 

我當然用在實際的模板本身正確的加載方法:

{% load staticfiles %} 
... 
<link rel="stylesheet" href="{% static 'css/about.css' %}"> 

這是我的文件struc ture:

Personal_Website 
|Personal_Website 
||settings.py 
||urls.py 
||etc... 
|static 
||css 
|||about.css 

坦率地說,我不知道這裏還有什麼要做。我覺得我已經嘗試了一切與設置,並仍然得到相同的日誌。

回答

1

你應該有這樣的服務項目目錄靜態文件...

STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"),] 

os.path.dirname(os.path.abspath(__file__))這是指向哪裏設置的所有文件是存在的Personal_Website文件夾...

+0

不幸的是我得到了相同的結果。我的基本路徑是'BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__ file __)))'如果您需要更多信息。 – hasherr

+0

@saherr這將工作肯定。我在我的本地複製完全相同的東西,這是工作...你可以打印'STATICFILES_DIRS'指向哪裏... –

+0

我似乎無法找到一個很好的方式來打印出變量。有什麼建議麼? – hasherr