我正在製作一個簡單的Django項目,但我無法獲取任何圖像以顯示在我的頁面中。無法獲取圖像以在Django(1.3)項目中顯示
在https://docs.djangoproject.com/en/1.3/howto/static-files/#basic-usage狀態
基本用法Django文檔把你靜態文件的地方,staticfiles會發現 他們。
默認情況下,這表示在您的INSTALLED_APPS的應用程序的靜態/子目錄中。
您的項目可能還會擁有與 並不綁定的特定應用的靜態資產。 STATICFILES_DIRS設置是一個文件系統目錄的元組,用於檢查何時加載靜態文件。這是一個 默認爲空的搜索路徑。請參閱STATICFILES_DIRS文檔 如何擴展此列表的其他路徑。
此外,有關靜態文件如何找到您的文件的詳細信息,請參閱STATICFILES_FINDERS 設置的文檔。
確保django.contrib.staticfiles包含在您的 INSTALLED_APPS中。
地方發展,如果你使用的runserver或添加 staticfiles_urlpatterns到你的URLconf,你與安裝完成 - 您的靜態文件將自動默認送達(用於 新建項目)STATIC_URL的/靜態的/。
您可能需要在模板中引用這些文件。該 最簡單的方法是使用包括上下文處理器,其允許 模板代碼,如:
參見參考 靜態文件中的更多細節,包括使用模板標記的替代方法 模板。
所以我這樣做在settings.py:
STATICFILES_DIRS = (
'/home/abc/django/project1/media/',
)
並啓用'django.contrib.staticfiles',
在媒體,我有一個文件夾IMG,裏面有各種各樣的jpg文件。
在我的模板,我有這樣的線路之一:
<img src="{{STATIC_URL}}img/{{var}}.jpg">
當我通過我的觀點傳遞給變種這個模板。
HTML頁面似乎將此標記渲染爲"<img src="img/abc.jpg">
其中var =「abc」。 但我的瀏覽器拒絕顯示圖像。我做錯了什麼?
我確實嘗試過,但它也沒有工作。我的settings.py根本沒有「TEMPLATE_CONTEXT_PROCESSORS」。手動添加它沒有任何區別。但是使用「{%load static%} 」會顯示圖像。但我不明白爲什麼第一種方法不起作用。好吧。 – user1265125
你能展示你的觀點嗎?默認情況下,TEMPLATE_CONTEXT_PROCESSORS不在settings.py中。當你添加django.core.context_processors.static時,它也不起作用。你應該在你的setings.py整個名單:TEMPLATE_CONTEXT_PROCESSORS =( 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 「 django.core.context_processors.static', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ) –