2017-06-14 69 views
0

好了,所有的。我知道這是一個問題,很多人在各種情況下已經解決了,但我不能爲我的生活讓我的Django 1.9開發服務器爲我的本地計算機上的靜態內容。靜態文件的罰款部署前,並且是我的部署服務器上完全正常,但現在在我的測試環境(本地計算機runserver會)都被打破了,我真的需要能夠在一個開發環境中測試樣式表。的Django開發服務器仍然不會提供靜態文件

我已經試過allofthesesolutions多,後面的文件指導,在發展回購再次使用collectstatic ...沒有奏效,我在我束手無策。

目前,我有DEBUG = True,以及以下設置:

文件夾層次結構

project/ 
    manage.py 
    (&c) 
    app/ 
    urls.py 
    models.py 
    (&c) 
    project/ 
    settings.py 
    urls.py 
    (&c) 
    static/ 
    styles/ 
    images/ 
    (&c) 

settings.py靜態文件設置

STATIC_URL = '/static/' 

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

STATICFILES_DIRS = (
    os.path.join(STATIC_ROOT, 'styles/'), 
    os.path.join(STATIC_ROOT, 'js/'), 
    os.path.join(STATIC_ROOT, 'audio/'), 
    os.path.join(STATIC_ROOT, 'images/'), 
    os.path.join(STATIC_ROOT, 'admin/'), 
    os.path.join(STATIC_ROOT, 'documents/'), 
) 

urls.py網址模式

from django.conf.urls import include, url, patterns 
from django.conf import settings 
from django.conf.urls.static import static 
from django.contrib import admin 

urlpatterns = [ 
    # ... project url patterns blah blah ... 
] 

if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 
    urlpatterns += patterns('', (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root':settings.STATIC_ROOT, 'show_indexes': True})) 

我也有我的模板{% load staticfiles %}與適當{% static %}電話(例如:{% static 'styles/main.css' %})一起。

作爲參考,在命令行中給了我下面的時候我加載頁面:

"GET /static/styles/main.css HTTP/1.1" 404 1759

如果任何人,我已經錯過了,可能甚至遠程有工作的雪球的機會的修復程序的人都知道,告訴我。這讓我瘋狂的不能正常測試。

編輯:至於建議,我已經更新到1.11的Django我的本地機器上,在不改變當前的問題。

回答

0

我不能對它進行測試,但也許嘗試改變這一點:

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

這樣:

STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

順便說一句,1.9版本是不受支持並且還存在安全風險。你可能想升級到另一個版本。

+1

沒有骰子。據我所知,'os.path.join()'追加並插入必要的斜槓(這就是爲什麼它比簡單字符串連接更受歡迎的原因)。升級是我的下一個重點。 –

+0

織補。對於那個很抱歉。 祝你好運! – LizD

0

你可以嘗試使用絕對路徑創建STATIC_ROOT var和檢查是否正常工作?

也許這變種的建設也不行。

您也可以通過

python manage.py shell 

檢查STATIC_ROOT VAR,看看它是否正確地適合您的路徑。

+0

根據shell,STATIC_ROOT指向正確的路徑(project/static /)。 –

+0

@JensenReynolds是一個絕對路徑嗎?從你的評論我不能看出它是否。 – jgmh

+0

它指向一條絕對路徑,是的。 –