我正在努力第一次編寫Django應用程序,所以如果我對事物有點落後,請耐心等待。我在做什麼Django靜態文件錯誤?
這裏是我的settings.py的摘錄:
STATIC_ROOT = os.getcwd().replace('\\','/') + '/static'
STATIC_URL = '/static_files/'
STATICFILES_DIRS = (
os.getcwd().replace('\\','/') + '/static'
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
注:我希望在os.getcwd()...
線工作。我很確定這不是我的問題,但請讓我知道這是否是一個問題。它是本地開發用途的佔位符,所以在部署時不要擔心它留在那裏。
我的第一個問題是模板變量似乎沒有工作。
從我的主模板文件的摘錄:
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL|default:'/static_files/' }}css/base.css" />
我本來剛剛在那裏{{ STATIC_URL }}
,而是簡單地返回任何內容,所以我嘗試添加|default:'...'
。這已經成功地在生成的HTML中生成了給定的字符串,但仍然無法正常工作,這使我對第二個(也是更重要的,誠實的)問題產生了興趣。
我無法獲取靜態文件。我在這裏嘗試了幾種不同的方法。我試圖把絕對和相對路徑(以各種組合)在上述各STATIC_*
變量的,我已經使用等效MEDIA_URL
瓦爾代替嘗試過了,我試圖把下面進入我urls.py
:
urlpatterns = ('',
# ...
(r'^static_files/(?P<path>.*)$',
'serve', {
'document_root': '/path/to/django/dir/static_files/',
'show_indexes': True
}
),
)
(我從http://www.arthurkoziel.com/2008/09/02/handling-static-files-django/中抓取了上面的代碼片段。)
現在我應該注意,一旦初始開發完成,我希望最終能夠從並行Apache進程提供靜態文件,但是我仍然很想知道我是什麼做錯了。我一直無法在線或在StackOverflow上找到有關靜態文件的完整教程。
非常感謝所有幫助。
編輯:萬一它很重要,我在Windows 7上使用Python 2.7。
這絕對解決了我的第一個小問題。但是,我的第二個問題仍然存在。 –
剛剛編輯了一個可能的解決您的第二個問題。 –
不幸的是,這對我沒有任何幫助。我很確定添加一個逗號不會改變任何東西。它仍然以單個條目作爲元組結束。 –