django - 如何再次将 templatetag 的返回值插入到 {% if - 中

标签 django django-templates

好的,我写这个:

@register.simple_tag
def get_something(data, var1, var2):
    if data:
        if var1:
            if var2:
                return { 'variable': True }
return return { 'variable': False }

但是这个:

{% get_something 1 0 1 %}
{% if not variable %}
    ...
{% endif %}

仍然无法正常工作...始终显示“...”

最佳答案

尝试直接返回值并使用如下内容:

{% get_something 1 0 1 as variable %}
{% if not variable %}
    ...
{% endif %}

我认为模板标记的目标不是更新全局模板上下文,因为很难看到上下文作为模板标记的用户进行更新。

关于django - 如何再次将 templatetag 的返回值插入到 {% if - 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7220340/

相关文章:

python - 运行 Apache/WSGI 时 Django URL 解析不起作用

python - django templatetag,获取与当前帖子的 taggit-tags 相关的帖子

python - Django - 根据用户组过滤下拉选项

javascript - 将 METRONIC 添加到 Django 项目

Django:如何避免污染包含标签中的父上下文?

python - 如何使用 django 重定向功能传递上下文数据?

python - Django 如何覆盖默认表单错误消息

python - 为 Django 管理员使用替代身份验证后端

使用 Jquery 的 Django ajax 'like' 按钮?

html - form.is_valid() 返回 false (django)