2013-10-25 30 views
1

我想通過django 1.5內置開發服務器啓用服務靜態文件。我遇到了一個奇怪的問題。django 1.5.4中的STATIC_URL問題

如果我使用localhost:8000/static/staticstyle.css向我的靜態文件發出請求,那麼它會迴應我找不到。但是,如果我向STATIC_URL中提及的相同文件提出請求並添加url模式作爲"url(r'^anyval_other_than_mentioned_STATIC_URL/', django.views.static.serve,{'document_setting':settings.STATIC_ROOT}), ",則它會以304(這是條件獲取)作爲響應。

我收集了設置文件中靜態目錄設置中的所有靜態文件,並啓用了該模板所需的所有上下文處理器。

對於生產我已經使用nginx來提供靜態文件,所以沒有問題。

我的settings.py看起來像

STATIC_ROOT = APPLICATION_PATH+"/static/" 

STATIC_URL = '/static/' 

STATICFILES_DIRS = (
    ('vendors',APPLICATION_PATH+'/vendors'), 
    ('admin/assets/',APPLICATION_PATH+'/templates/admin/assets'), 
    # Put strings here, like "/home/html/static" or "C:/www/django/static". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
) 

我的應用程序urls.py看起來像

urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

任何提示將高度讚賞。

謝謝。

+0

您可以使用findstatic追蹤錯誤,https://docs.djangoproject.com/en/1.6/ref/contrib/staticfiles/#findstatic – maazza

回答

5

請仔細閱讀本第一 https://docs.djangoproject.com/en/1.5/howto/static-files/

有相關的靜態文件的一些設定,提供 知道如何找到在各個位置的靜態文件取景器後端的列表。

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

到目錄靜態文件的絕對路徑,應收集對靜態文件

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

網址前綴。

STATIC_URL = '/static/' 

您可以指定的靜態文件的其他位置

STATICFILES_DIRS = (
    os.path.join(APPLICATION_PATH, 'vendors'), 
    os.path.join(APPLICATION_PATH, '/templates/admin/assets'), 
) 

有特殊應用的靜態服務在Django的contrib

INSTALLED_APPS = (
    ... 
    'django.contrib.staticfiles', 
    ... 
) 

在配置項目運行的collectstatic命令

python manage.py collectstatic 

這會將您的靜態文件夾中的所有文件複製到STATIC_ROOT目錄中。

+0

感謝您的回覆。我的設置文件看起來與您提到的類似,但仍然有同樣的問題。我有我的設置文件 /settings/development.py裏面,我導出這個設置之前我運行manage.py, – wework4web

+0

所以有什麼問題你可以指定設置模塊 – oleg

+0

非常感謝。現在已經停留了幾個小時了!我的靜態_root不是絕對的。謝謝:D – user2734679