我在Django 1.5.4上的開發服務器中遇到靜態文件問題。我不確定在實際的生產服務器(運行Apache)上是否出現同樣的問題,因爲我發現了一個解決方案(現在只需對整個URL進行硬編碼 - 我知道它很糟糕,但它可以得到這份工作完成)。在Django視圖中找不到靜態文件
我正在使用Reportlab爲我的項目創建一個PDF文件,並且需要在其中包含一張圖片。我也跟着在不同post答案:
from django.templatetags.static import static
url = static('x.jpg')
不幸的是,我從服務器得到的答覆是一個IO錯誤:「無法打開資源‘本地主機:8000 /靜態/圖片/ x.jpg’」,甚至儘管將其複製並粘貼到URL欄清楚地顯示出該圖片恰好在那裏。
我關於靜態文件設置如下,和他們做一切(CSS,Javascript代碼等)工作:
ROOT_PROJECT = os.path.join(os.path.split(__file__)[0], "..")
STATIC_ROOT = os.path.join(ROOT_PROJECT, 'static')
STATICFILES_DIRS =()
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
感謝您的幫助!
正如我所說 - 它與所有其他靜態文件(CSS,Javascript等)一起工作得很好。它們都在主應用程序的靜態文件夾(在子文件夾js/css中)中,沒有任何問題。除非我指定確切的地址,否則只有這張圖片纔會加載。還有其他的東西一定是錯的。 – Tobi