如何使用Python / Django添加新的对象属性

时间:2012-12-07 18:57:02

标签: python django

完全披露:我只是在学习Django

我们网站的主页显示最近的博文。在views.py中,有一个类定义了可以使用post.get_attribute调用主页上最近帖子的属性。我正在尝试添加模型featured_image中的新属性,但无法在主页上进行渲染。

# From models.py
featured_image = models.ImageField(_('featured image'), 
                                    upload_to='images/posts', 
                                    blank=True, null=True)

# Added featured_image to class in views.py
def get_posts(request, post_type):
    if post_type == 'personal':
        posts = list(Post.personal_objects.all().values('title', 'slug',
                                                       'author__username',
                                                       'views', 
                                                       'featured_image'))[:8]
    elif post_type == 'business':
        posts = list(Post.business_objects.all().values('title', 'slug', 
                                                        'author__username',  
                                                        'views', 
                                                        'featured_image'))[:8]
    else:
        raise Http404
    return HttpResponse(json.dumps(posts), mimetype='application/json')

我如何调用home.html中的精选图片:

<a href="{{ post.get_absolute_url }}">
    <img src="{{ post.get_featured_image_url }}" />
</a>

我错过了让这些图片进入的内容?非常感谢任何见解。如需更广泛的背景,请访问this link.

1 个答案:

答案 0 :(得分:2)

通过调用模型字段

获取模板中的图像
{{ post.featured_image }}