首页 > 解决方案 > 如何在 Django 模板中处理动态添加的变量

问题描述

我正在尝试构建一个 Django 模板来动态处理可能存在或不存在的变量。

这是我正在使用的模式类型:

{%  block unsubscribe %}
        {%  if unsubscribe_uuid is not None %}
            <a href="http://www.example.com/core/unsubscribe/{{ unsubscribe_uuid }}/" style="
                font-size: .9em;
                color: rgba(255, 255, 255, 0.5);">
                unsubscribe</a> |
        {%  endif %}
    {% endblock %}

这会引发错误/异常/警告:

django.template.base.VariableDoesNotExist: Failed lookup for key [unsubscribe_uuid]

我也试过用这一行检查变量:

{%  if unsubscribe_uuid %}

如果它们不存在,如何检查模板中的变量而不抛出此错误?

标签: djangodjango-templates

解决方案


我建议做这样的事情:

{%  block unsubscribe %}
  {% with unsubscribe_uuid as uuid %}
     {%  if uuid is not None %}
       <a href="http://www.example.com/core/unsubscribe/{{uuid}}/" style="font-size: .9em;color: rgba(255, 255, 255, 0.5);">unsubscribe</a> |
     {%  endif %}
 {% endwith %}
{% endblock %}

推荐阅读