![](/img/trans.png)
[英]TemplateSyntaxError trying to use cut filter in template tag in Django
[英]Django TemplateSyntaxError in with template tag
我正在尝试在我的项目中使用此应用程序。 https://github.com/streema/django-favit我已经可以使用此应用程序的fav-unfav部分。 我也想为每个用户列出用户的收藏夹。 在我的阅读部分中,它说使用它,它将被列出,但是我有一个错误
{% with user_favorites <user> "baslik.Entry" as favorite_list %}
{% for fav_obj in favorite_list %}
{{ fav_obj }}
{% endfor %}
{% endwith %}
错误:
TemplateSyntaxError at /
u'with' expected at least one variable assignment
这是user_favorites的模板标记部分:
@register.assignment_tag
def user_favorites(user, app_model=None):
"""
Usage:
Get all user favorited objects:
{% with user_favorites <user> as favorite_list %}
{% for fav_obj in favorite_list %}
{# do something with fav_obj #}
{% endfor %}
{% endwith %}
or, just favorites from one model:
{% with user_favorites <user> "app_label.model" as favorite_list %}
{% for fav_obj in favorite_list %}
{# do something with fav_obj #}
{%
{% endwith %}
"""
return Favorite.objects.for_user(user, app_model)
如何摆脱这个错误? 谢谢。
在文档中,一个合理的惯例是,尖括号中的任何内容都是一个占位符,由实际值替换。 在这种情况下,应该将<user>
替换为包含实际用户的对象。
{% with user_favorites request.user ...
不过,我必须说,文档仍然没有任何意义。 您不能在这样的with语句中使用分配标记-即使在纠正了用户问题之后,这仍然无法正常工作。 令人困惑的是,在整个文档中都重复了相同的语法,但这根本行不通。
我认为这只是文档中的一个错误,并且怀疑如果仅删除“ with”一词会起作用。
要在Django中使用自定义模板标签,需要将其显式load
到模板中。 将此行添加到模板的开头(但在{% extends ... %}
extended {% extends ... %}
,如果有的话):
{% load favit_tags %}
django-favit README似乎缺少此步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.