python – 自定义django标签返回列表?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 自定义django标签返回列表?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含994字,纯文字阅读大概需要2分钟。
内容图文
![python – 自定义django标签返回列表?](/upload/InfoBanner/zyjiaocheng/793/53aad2afd01242f78910c6d279945920.jpg)
我需要创建一个自定义标记,返回一个列表,然后我可以使用{%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 %}
是否有必要对临时变量进行赋值?不能直接与其他标签助手一起使用?
解决方法:
这对我来说非常好.
或者,出于某种原因,如果您无法通过视图的上下文传递product_list,则可以使用inclusion tag,如果您觉得更干净:
@register.inclusion_tag("tags/products_list.html")
def all_products():
return {'products_list': Product.objects.order_by('name') }
products_list.html
{% for product in products_list %}
.........
{% empty %}
Empty list
{% endfor %}
在html文件中,你会这样做
{% all_products %}
内容总结
以上是互联网集市为您收集整理的python – 自定义django标签返回列表?全部内容,希望文章能够帮你解决python – 自定义django标签返回列表?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。