我有這個簡單的標簽:
myapp/templatetags/my_filters.py
@register.simple_tag
def get_bookmark_object(content_type, object_id):
return Bookmark.objects.get(content_type=content_type, object_id=object_id)
在我的模板中,我希望能夠做到這一點:
{% load my_filters %}
{% with object as bookmark %}
{% with bookmark_object=get_bookmark_object bookmark.content_type bookmark.object_id %}
{% if bookmark.content_type.model == 'post' %}
{% include 'content/post/object.html' with object=bookmark_object user_bookmark=bookmark %}
{% elif bookmark.content_type.model == 'note' %}
{% include 'content/note/object.html' with object=bookmark_object user_bookmark=bookmark %}
{% endif %}
{% endwith %}
{% endwith %}
我收到錯誤:
TemplateSyntaxError at /my-page/
'with' received an invalid token: 'bookmark.content_type'
我的問題是:
如何get_bookmark_object在with陳述句中使用我的自定義模板標簽?一個帶有代碼的例子會幫助我澄清很多。
參考: Django's with built-in
uj5u.com熱心網友回復:
您定義的是模板標簽,您可以使用標簽分配模板標簽產生的值{% … as … %}:
{% get_bookmark_object bookmark.content_type bookmark.object_id as bookmark_object %}
…
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/323873.html
上一篇:Django需要第一段
下一篇:型別錯誤:欄位“id”需要一個數字,但得到<django.db.models.query_utils.query_utils.DeferredAttribute物件
