我需要创建一个自定义标签,返回一个列表,然后我可以使用{% for item in custom_tag_returning_list %}
.
现在我使用assign_tag方法进行了以下破解,但怀疑它是否是正确的方法:
from django import template
from product.models import Product
register = template.Library()
@register.assignment_tag
def all_products():
return Product.objects.all().order_by('name')
在模板中我不能all_products
直接使用,但需要先分配给一些变量:
{% all_products as all_products_list %}
{% if all_products_list %}
{% for product in all_products_list %}
...
{% endfor %}
{% endif %}
是否有必要对临时变量进行赋值?不能直接与其他一些标签助手一起使用吗?