Django 1.5,图像不显示,静态文件

时间:2013-06-09 07:26:28

标签: python django image

我是Django 1.5的新手,我的图像有些问题。

我的文件夹中有图像(C:\ Users \ Neitrosha \ PycharmProjects \ ecomstore \ static \ images \ products) 有两个文件夹 - “缩略图”和“主要”来存储图像。

我的settings.py是:

 STATIC_URL = '/static/'


 STATICFILES_DIRS = (
     'C:\Users\Neitrosha\PycharmProjects\ecomstore\static',
 }

 TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth",
     "django.core.context_processors.debug",
     "django.core.context_processors.i18n",
     "django.core.context_processors.media",
     "django.core.context_processors.static",
     "utils.context_processors.ecomstore",
  )

我在'category.html'上使用此代码:

 {% extends "catalog.html" %}
   {% block content %}
   {% load staticfiles %}
   <h1>{{ c.name }}</h1>
   {{ c.description }}
   <br /><br />

   {% for p in products %}
       <div class="product_thumbnail">
       <a href="{{ p.get_absolute_url }}">
           <img src="{{ STATIC_URL }}images/products/thumbnails/{{p.image}}"  alt="{{ p.name }}" class="bn" />
           <br />
           {{ p.name }}
       </a>
</div>

{% endfor %}
{% endblock %}

例如,我的浏览器可以通过以下方式查看已形成的链接:

 <div class="product_image" >
    <img src="/static/images/products/main/super_guitar.jpg" alt="Super guitar" />
</div>

但它仍然不起作用。

如何使其有效?

提前致谢。

P.S。也许是因为我的模型中的这个字符串

 image = models.CharField(max_length=50)

?但我只是在那里写下图像的名称。

1 个答案:

答案 0 :(得分:0)

此代码有两个问题:

STATICFILES_DIRS = (
     'C:\Users\Neitrosha\PycharmProjects\ecomstore\static',
}

首先,您使用(打开并使用不匹配的}关闭。

其次,\需要在python字符串中进行转义。应该是:

STATICFILES_DIRS = (
     'C:\\Users\\Neitrosha\\PycharmProjects\\ecomstore\\static',
)

STATICFILES_DIRS = (
     r'C:\Users\Neitrosha\PycharmProjects\ecomstore\static',
)