访问Djang中每个列表组件的模型属性

2024-10-01 09:17:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将对象列表从我的views.py传递到我的html模板,但我无法访问html模板中的对象模型属性。请检查以下代码:

类.py:

class FOF(models.Model):
    user = models.ForeignKey(User)
    name = models.CharField(max_length=200)
    size = models.IntegerField()
    pub_date = models.DateTimeField('date published')
    view_count = models.IntegerField()
    def __unicode__(self):
        return self.name

class Frame(models.Model):
    url = models.CharField(max_length=200)
    fof = models.ForeignKey('FOF', related_name='frame_set')
    index = models.IntegerField()
    def __unicode__(self):
        return self.url

视图.py:

^{pr2}$

当我传递一个对象时,我通常可以访问html文件中的属性,但是一旦我传递了一个对象列表,就不可能访问这些属性了。在

例如,当我输入alert({{ fof_list.0 }});时,它会打印对象属性名,因为它是在中定义的模型.py

def __unicode__(self):
    return self.name

但是一旦我尝试访问它的任何属性,如pub_datealert({{ fof_list.0.pub_date }});,它返回{},因为该属性不可用或无法访问。在

你知道在传递整个列表时如何处理这些属性吗?或者怎样才能通过这个名单?在

干杯。在


Tags: 对象namepyself列表datereturn属性
2条回答

首先需要将content of attribute放在javascript变量中。在

<script>
    var pub_date = '{{my_list.0.pub_date}}';
    alert(pub_date);

    //this will also work
    alert('{{my_list.0.pub_date}}') # enclosed in single or double quotes
</script>

使用for loop并迭代它以获得模板中的每个对象。在

^{pr2}$

使用^{} template tag遍历iterable并依次获取每个元素。在

相关问题 更多 >