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

我的观点.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 回答