Django 1.8模板中未显示图像

Django 1.8模板中未显示图像,django,image,static,media,Django,Image,Static,Media,我想在名为index的Django应用程序中显示静态文件夹中的图像。但它在浏览器中显示图标,这意味着它无法在中指定的路径中找到图像。以下是我的目录结构: |-- db.sqlite3 |-- images | |-- __init__.py | |-- __init__.pyc | |-- settings.py | |-- settings.pyc | |-- urls.py | |-- urls.pyc | |-- wsgi.py | `-- wsgi.pyc

我想在名为
index
的Django应用程序中显示静态文件夹中的图像。但它在浏览器中显示图标,这意味着它无法在
中指定的路径中找到图像。以下是我的目录结构:

|-- 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
视图.py

def show(request):
    return render(request, 'show.html', {})
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)
url.py

def show(request):
    return render(request, 'show.html', {})
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"/>
{%load staticfiles%}

我试着跟随,但显然做得不好。任何帮助都将不胜感激。

我设置了
STATIC\u ROOT='STATIC'
,现在它会在网页上显示图像。

经过多次尝试,最后我从Stackoverflow获得了一组答案。事实上,这并不简单。呸!不过我很开心,而且面带微笑。 我已经用Apache和mod_wsgi(Xampp)在Windows上安装了Django 1.8vrsite“是我的网站。”vrapp'是我的应用程序。最终显示的图像来自vrsite>vrsite>vrapp>static>vrapp>23-oracle.jpg我获取显示图像的步骤如下: 1.目录结构: C:…\myvirtualwebenv27\u 1\xampp\htdocs\vrsite\manage.py

这将覆盖现有文件! 你确定要这样做吗

键入“是”继续,或键入“否”取消:是 正在复制C:…\myvirtualwebenv27\u 1\xampp\htdocs\vrsite\vrsite\vrapp\static\vrapp\23 oracle.jpg'

1个静态文件已复制到“C:…\myvirtualwebenv27\u 1\xampp\htdocs\vrsite\static\static\u root”,64未修改


您是否已将静态文件\u DIRS添加到您的设置.py?否。。只是默认添加的
STATIC\u URL='/STATIC/'
。这是必要的吗?但我不确定这是否是问题所在。你能把你的settings.py添加到你的问题中吗?有几件事,第一件事,你能直接导航到这张图片吗。。。把图片放在url中,然后自己看?如果是这样的话,那么这个没有显示的图像的src位置是什么呢?这很可能只是不正确的静态根目录设置。我没有静态根目录,需要吗?我觉得静态URL就足够了。我不知道哪一个是为了什么目的!这是非常全面的。感谢您的努力@Sri Srii。但是我的问题已经用
STATIC\u ROOT='STATIC'
解决了。但是,您能告诉我如何在显示文件时调整其大小吗?不是图像的原始尺寸,而是我想要显示的东西。假设图像可以大也可以小,但我想以400x400分辨率显示它。@Minigunr,欢迎!在我的例子中,STATIC\u ROOT='STATIC'不起作用。如果有人能解释为什么它在某些情况下有效而在其他情况下无效,这将是有用的知识。关于图像的大小调整,到目前为止我还没有使用过。我已经研究了一些关于创建缩略图的知识,因为我很快就会实现它——请用“django缩略图”进行谷歌搜索,你可能会找到一些参考资料。
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    url(r'^$', 'vrsite.vrapp.views.home'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
def home(request):

        return render_to_response('index.html')
{% load staticfiles %}

<img src="{% static "vrapp/23-oracle.jpg" %}" alt = "My image"/>
C:\...\myvirtualwebenv27_1\xampp\htdocs\vrsite\static\static_root