2

趣味でペットショップアプリを作っています。私のアプリのしくみは、すべてのペット ストアをリストするページを表示し、ペット ストアをクリックすると表示されます。ペットショップにいるすべての動物を見ることができます。

問題は、静的に行わずにモデルからテンプレートに画像を渡す方法がわからないことです。これが意味をなさない場合は申し訳ありません。

例。誰かが店を見たとき。彼は、名前、説明、写真など、すべての動物を見ることができます。

管理者に画像をアップロードできますが、画像を含むコンテキストをテンプレートにレンダリングするにはどうすればよいですか

 image = models.FileField(upload_to="images/")

私のモデル。

from django.db import models

class Store(models.Model):
    name = models.CharField(max_length = 20)
    number = models.BigIntegerField()
    address =models.CharField(max_length = 20)
    def __unicode__(self):
        return self.name

class Pet(models.Model):
    animal = models.CharField(max_length =20)
    description = models.TextField()
    owner = models.ManyToManyField(Store)
    image = models.FileField(upload_to="images/")

    def __unicode__(self):
        return self.animal

私のviews.py

from pet.models import Store , Pet
from django.shortcuts import render_to_response ,get_object_or_404

def index(request):
    store = Store.objects.all()
    return render_to_response ('store.html',{'store':store})

def brazil(request , animal_id):
    pet = get_object_or_404(Pet, pk=animal_id)
    return render_to_response ('animal.html',{'pet':pet})

私の店.html

Sydney's Pet Store
{% if store %}
<ul>
    {% for a in store %}
    <li><a href ="{% url world:brazil a.id %}">{{ a.name }}</li>
    {% endfor %}

</ul>
{% endif %}

私の動物.html

{% if store %}
<li>Pet = {{ store.animal }}</li>
<li>description = {{store.description}} </li>
<li>owner = {{ store.owner }} </li>
{% endif %}
4

1 に答える 1

3

FileFields (拡張によってImageFields) にはurl、URL を取得するために使用できるプロパティがあります。このプロパティは、次のようにテンプレートから使用できます<img src="{{ pet.image.url }}">

于 2013-03-03T08:33:22.740 に答える