首页 > 解决方案 > 如何在 django 中创建一个传入多个对象的字典的自定义模板标签

问题描述

我想创建一个传入对象字典的模板标签

模型.py

class Notification(models.Models):
    name = models.CharField()
    ..........


template_tag.py

创建了一个模板标签来获取我想要显示的所有对象

from django import template

register = template.Library()

@register.simple_tag
def notifications():
    context = {'notifications':Notification.objects.order_by('-date')[:4]}
    return context

后者启动一个显示对象的forloop

{% load template_tag %}

{% for obj in notifications %}
   <a href="">{{ obj.name }}</a>
{% endfor %}

希望你明白这个想法......

标签: pythondjangodjango-modelsdjango-viewsdjango-templates

解决方案


就像在 python 中一样:

{% for key, value in notifications.items %} 
  <a href="#">{{key}} - {{value}}</a>
{% endfor %}

就如此容易!


推荐阅读