-2

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

我的文件夹中有图像 (C:\Users\Neitrosha\PycharmProjects\ecomstore\static\images\products) 有两个文件夹 - 'thumbnails' 和 'main' 用于存储图像。

我的 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>

但它仍然不起作用。

如何使这个工作?

提前致谢。

PS 也许是因为我的模型中有这个字符串

 image = models.CharField(max_length=50)

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

4

1 回答 1

0

这段代码有两个问题:

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

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

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

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

或者

STATICFILES_DIRS = (
     r'C:\Users\Neitrosha\PycharmProjects\ecomstore\static',
)
于 2013-06-09T08:33:59.343 回答