【问题标题】:How turn {{ fieldset.fields }} in Django template into a string?如何将 Django 模板中的 {{ fieldset.fields }} 转换为字符串?
【发布时间】:2016-09-18 18:36:31
【问题描述】:

Django 使用 {{ fieldset.fields }} 返回什么?我怎样才能把它变成一个字符串?

在我的模板中,我有这个:

{% for fieldset in adminform %}
    <li> {{ fieldset.fields }} </li>
        {% if "nanoadded" in fieldset.fields  %}
            <li> nanoadded is here </li>
        {% else %}
            <li> nanoadded is NOT here </li>
        {% endif %}        
{% endfor %}

这是返回的内容:

[('arri', 'aconcentration', 'acat', 'notes', 'agtlt', 'id'), ('nanoadded', 'response', 'select_charc')] 纳米添加不在这里

所以我假设 fieldset.fields 没有返回一个字符串(即使它看起来像一个字符串)。如何让 Django 将 fieldset.fields 的内容视为字符串?感谢您的帮助!

【问题讨论】:

    标签: python django django-templates django-admin


    【解决方案1】:

    看起来fields 属性返回一个包含两个元组的列表,因此您可能希望通过 for 循环运行它以检查每个元组是否属于字符串 'nanoadded'

    大概是这样的:

    {% for fieldset in adminform %}
        {% for field in fieldset.fields %}
        <li> {{ field }} </li>
            {% if "nanoadded" in field  %}
                <li> nanoadded is here </li>
            {% else %}
                <li> nanoadded is NOT here </li>
            {% endif %}       
        {% endfor %} 
    {% endfor %}
    

    【讨论】:

    • Vasili - 感谢您的建议,但是当我将行
    • {{ fieldset.fields }}
    • 更改为
    • {{ fieldset.fields | str }}
    • 以下错误结果: Invalid filter: 'str' 也许这是您注意到的元组问题。我会看看我是否能弄清楚如何分别查看每个元组。
  • Django,至少在默认情况下,不使用Jinja,而是使用自己的template language
  • Vasili - 这是元组问题......当我在循环中查看每个元组时,它会为第二个元组返回“nanoadded is here”。谢谢!
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签