最近我一直在爲我的網站添加一個負載的功能。爲了讓這個過程更快,我想把我的開發機器上的靜態文件提供給我。具體來說,我想使用DJango v1.3.1附帶的內置開發服務器;修改生產服務器是一個壞主意,每次修改時都必須上傳靜態文件,這浪費了大量的時間和精力。爲什麼STATIC_URL不能以'http://'或'/'作爲DJango開發服務器?
讓開發者發揮球,但一直是一個噩夢!我剛剛浪費了大約4個小時來嘗試提供靜態數據,結果發現我錯誤的是,開發服務器在STATIC_URL
開始時似乎不喜歡'/'?我想知道爲什麼和/或我在做什麼錯...
我一直在嘗試使用the settings suggested in the docs,但是我錯誤地閱讀了一些東西,或者還有更多。
我的項目是這樣的:
<project root>
/app1
..various files..
/app2
..various files..
/static
/style
Style.css
/templates
manage.py
settings.py
settings_dev.py
settings_production.py
urls.py
我settings.py
檢測我們正在運行的服務器,然後調用相應settings_dev.py
或settings_production.py
效果很好,我的所有設置,做工精細的生產服務器上。
我settings_dev.py
有以下幾點:
DEBUG = True
ADMINS = (
('Jon', '[email protected]'),
)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydb',
'USER': 'dbuser',
'PASSWORD': 'dbpassword',
'HOST': '',
'PORT': '',
}
}
MEDIA_ROOT = ''
MEDIA_URL = '/media'
STATIC_ROOT = 'C:/Users/jon/PycharmProjects/myproject/static'
STATIC_URL = 'http://192.168.1.4/static'
STATICFILES_DIRS =()
ADMIN_MEDIA_PREFIX = 'http://192.168.1.4/static/admin/'
TEMPLATE_DIRS = ('C:/Users/jon/PycharmProjects/myproject/templates',)
IS_PRODUCTION_SERVER=False
..和urls.py
包括以下內容:
這工作這麼多我的模板拿起靜態URL,給我(對示例)http://192.168.1.4/static/style/Style.css
但是如果我將STATIC_URL
更改爲/static
...然後訪問http://192.168.1.4/static/style/Style.css
我得到一個404錯誤:
'\style\Style.css' could not be found
那麼這是怎麼回事?
發現這是你的dev的服務器確實在運行'http:// 192.168.1.4',而不是'http://192.168.1.4:8000'? – 2012-01-17 09:25:20