-2

私は Django 1.5 の初心者で、画像に問題があります。

フォルダー (C:\Users\Neitrosha\PycharmProjects\ecomstore\static\images\products) に画像があります。画像を保存するための「サムネイル」と「メイン」の 2 つのフォルダーがあります。

私の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

このコードには 2 つの問題があります。

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 に答える