2016-05-21 2 views
1

Что возвращает Django с помощью {{fieldset.fields}}? Как я могу сделать строку?Как превратить {{fieldset.fields}} в шаблон Django в строку?

В моем шаблоне, у меня есть это:

{% 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 %} 

Вот что возвращается:

[('Арри', 'aconcentration', 'АСАТ', 'anotes', 'agtlt' , 'id'), ('nanoadded', 'response', 'select_charc')] nanoadded is NOT here

Так что я предполагаю, что fieldset.fields не возвращает строку (хотя она выглядит как строка). Как заставить Django видеть содержимое полей fieldset.fields как строку? Спасибо за помощь!

ответ

2

Похоже fields свойство возвращает список, содержащий два кортежа, так что вы можете запустить его через цикл, чтобы проверить каждый кортеж для членства в строке «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 %} 
+0

Василий - спасибо за ваше предложение, но когда я изменил линию

  • {{}} fieldset.fields
  • к
  • {{fieldset.fields | str}}
  • следующие ошибки: Неверный фильтр: 'str' Возможно, это проблема с кортежем, которую вы отметили. Я посмотрю, смогу ли я разобраться, как смотреть на каждый кортеж отдельно. – Sandra

    +1

    Django, по крайней мере по умолчанию, не использует 'Jinja', а свой [язык шаблонов] (https://docs.djangoproject.com/en/1.9/ref/templates/api/). – schwobaseggl

    +0

    Vasili - это проблема с кортежем ... когда я смотрю на каждый кортеж в цикле, он возвращает «nanoadded is here» для второго кортежа. БЛАГОДАРЯ! – Sandra

    Смежные вопросы