2012-08-11 22 views
1

我面對一個相當奇怪的問題與Django的一些靜態文件,我STATIC_URL/static/,我已經得到了使用pip-e git+git://github.com/foo/bar.git#egg=bar它加載到virtualenv中src文件夾中安裝的應用程序。Django的不是服務

現在,我正在嘗試獲取與此應用程序相關的靜態文件,其格式爲/static/bar/js/something.js,而src文件夾的確有bar/bar/static/bar/js/something.js文件。即使我findstaticbar/js/something.js它給了我一個有效的文件路徑。但是,當我使用瀏覽器訪問它時,我已經301'd到/static/bar/js/something.js/哪個404s。

爲什麼會發生這種情況?

即使用staticfiles應用程序,我能夠看到它識別出我的應用程序已安裝並且它的static文件夾存在。但不知何故靜態文件不被服務。

+0

你的發展?您是否設置了URL以便測試服務器將爲您提供文件服務? https://docs.djangoproject.com/en/dev/howto/static-files/#serving-static-files-in-development – 2012-08-11 14:11:53

+0

settings.py中的STATICFILES_DIRS是什麼? – Tisho 2012-08-11 14:18:49

+0

@ TimmyO'Mahony你可以請發表這個答案,所以我可以標記爲正確的嗎? :) – 2012-08-11 14:18:49

回答

1

嘗試使用此URLPATTERN:

url(r'(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/path/to/file/'}), 
+0

我知道我可以做到這一點,但考慮到'virtualenv''/path/to/file /'會在不同的機器/環境中發生變化。 – 2012-08-11 14:19:37

+0

我對這個問題使用了一個配置:'settings ['INSTALL_ROOT']'。 – mlissner 2013-06-24 23:39:39