【发布时间】:2015-05-31 19:50:59
【问题描述】:
我想显示来自名为 index 的 Django 应用程序内的静态文件夹中的图像。但它在浏览器中显示图标,这意味着它在<img src=""/> 中指定的路径中找不到图像。这是我的目录结构:
|-- db.sqlite3
|-- images
| |-- __init__.py
| |-- __init__.pyc
| |-- settings.py
| |-- settings.pyc
| |-- urls.py
| |-- urls.pyc
| |-- wsgi.py
| `-- wsgi.pyc
|-- index
| |-- admin.py
| |-- admin.pyc
| |-- __init__.py
| |-- __init__.pyc
| |-- migrations
| | |-- __init__.py
| | `-- __init__.pyc
| |-- models.py
| |-- models.pyc
| |-- static
| | `-- index
| | `-- file2
| |-- templates
| | `-- show.html
| |-- tests.py
| |-- urls.py
| |-- urls.pyc
| |-- views.py
| `-- views.pyc
`-- manage.py
views.py
def show(request):
return render(request, 'show.html', {})
urls.py
from django.conf.urls import url
from django.conf import settings
from django.conf.urls.static import static
from index import views
urlpatterns = [
url(r'^show$', views.show),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
show.html
{% load staticfiles %}
<img src="{% static "index/file2" %}" alt="test_image"/>
我曾尝试关注this,但显然做得不对。任何帮助将不胜感激。
【问题讨论】:
-
您是否已将 STATICFILES_DIRS 添加到您的 settings.py 中?
-
no.. 只是默认添加的
STATIC_URL = '/static/'。这是必需品吗? -
我不确定这是不是问题所在。您能否将您的 settings.py 添加到您的问题中?
-
有几件事,第一,你能直接导航到这张图片,即……把图片放在url里自己看吗?如果是这样,那么作为未显示的该图像的 src 位置放置的是什么?这很可能只是一个不正确的 Static_Root 设置。
-
我没有 STATIC_ROOT,我需要一个吗?我认为 STATIC_URL 就足够了。我不知道哪个是为了哪个目的!