如何创建inclusion_tag Django?

时间:2015-04-09 06:13:16

标签: python django django-templates django-views

我是Django初学者。

我已阅读文档,但未发现与数据库的交互。

我希望在一个页面上显示来自DB的多个数据! 如何使用带有参数的inclusion_tag(从html模板接收)实现它?

请帮忙!

1 个答案:

答案 0 :(得分:2)

模板标签是常规的django代码,因此您可以像往常一样使用ORM:

from myapp.models import Message, Like

@register.inclusion_tag('user_stats.html')
def user_stats(user):
    return {'user': user,
            'messages': Message.objects.filter(user=user).count(),
            'likes': Like.objects.filter(user=user).count()}

然后在user_stats.html

User: {{ user.username }} - {{ messages }} message(s), {{ likes }} like(s)

更新:要将数​​据传递给模板标记,只需将参数添加到调用中:

{% for user in user_list %}
    <div>
        {% user_stats user %}
    </div>
{% endfor %}