Django模型和链接之间的图片链接

时间:2013-03-03 08:22:18

标签: django

我正在开发宠物商店应用程序以获得乐趣。我的应用程序的工作原理是,它会显示一个列出所有宠物商店的页面以及当您点击宠物商店时。你看到宠物商店里的所有动物。

问题是,我不知道如何将图片从模型传递到模板而不是静态地进行模板我很抱歉如果这没有意义。

实施例。当有人看到商店。他会看到所有的动物,例如名字,描述和图片。

我可以将图片上传到我的管理员,但是如何将图片上下文渲染到我的模板中

 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})

我的store.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 %}

我的animal.html

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

1 个答案:

答案 0 :(得分:3)

FileField s(以及扩展名ImageField s)具有url属性,您可以使用该属性来获取网址。您可以在模板中使用此属性,例如<img src="{{ pet.image.url }}">