对不起,如果我的问题听起来很愚蠢,因为我是Django的新手。
我在Django中有这样的观点:
def myview(request):
list = Ref.objects.all()
return render_to_response('annonces.html', {'list': list} ,RequestContext(request))
Ref是一个小的sqlite数据库,我存储从网上抓取的东西。
在我的django模板中,我想循环我的列表对象(hurl)的一个字段,其中包含一个链接(图像)列表,以便在我的网页上显示它。我试过这个:
{% for value in list %}
{% for link in value.hurl %}
<li><img src="{{ link }}"></li>
{% endfor %}
{% endfor %}
不幸的是,它不起作用。对象列表将所有内容转换为字符串,因此我的模板中的循环为字段hurl中的每个字符创建一行。
你知道如何让我的对象以列表而不是字符串的形式呈现投掷吗?
以下是value.hurl的示例:
u"['http://3.visuels.poliris.com/thumbnails/3/3/6/5/3365ddc7-3f27.jpg', 'http://1.visuels.poliris.com/thumbnails/1/2/b/6/12b6c286-372f.jpg', 'http://b.visuels.poliris.com/thumbnails/b/4/f/3/b4f32a1c-3159.jpg']"
这是模型。不确定URLField是否适用于投掷。
class Ref(models.Model):
ref = models.IntegerField(max_length=10, primary_key='True')
title = models.CharField(max_length=500)
hurl = models.URLField()
url = models.URLField()
prix = models.CharField(max_length=500)
由于 吉勒
答案 0 :(得分:1)
您应该更改对象模型并将hurl
的多个值存储为另一个对象。
该对象的ForeignKey
对象应该有Ref
:
class Ref(models.Model):
# snip
class Link(models.Model):
url = models.CharField(...)
ref = models.ForeignKey("Ref")
然后,在您的模板中,执行:
{% for value in list %}
{% for link in value.link_set %}
<li><img src="{{ link }}"></li>
{% endfor %}
{% endfor %}
为了获得更好的性能,请在您的视图中执行:
list = Ref.objects.prefetch_related("link_set").all()