小编Tor*_*mus的帖子

自定义 django 标签返回列表?

我需要创建一个自定义标签,返回一个列表,然后我可以使用{% 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')
Run Code Online (Sandbox Code Playgroud)

在模板中,我不能all_products直接使用,但需要先分配给某个变量:

{% all_products as all_products_list %}
{% if all_products_list %}
  {% for product in all_products_list %} 
   ...
  {% endfor %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)

是否有必要对临时变量进行赋值?不能直接与其他标签助手一起使用吗?

python django

5
推荐指数
1
解决办法
3513
查看次数

标签 统计

django ×1

python ×1