2016-05-21 11 views
1

Was gibt Django mit {{fieldset.fields}} zurück? Wie kann ich es zu einer Zeichenfolge machen?Wie mache ich {{fieldset.fields}} in der Django-Vorlage zu einer Zeichenkette?

In meiner Vorlage, ich habe dies:

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

Hier ist, was zurückgegeben wird:

[('arri', 'eine Konzentration', 'acat', 'AHinweise', 'agtlt' , 'id'), ('nanoadded', 'response', 'select_charc')] nanoadded ist nicht hier

Also ich nehme an, dass das fieldset.fields keine Zeichenfolge zurückgibt (obwohl es wie ein aussieht Zeichenfolge). Wie kann ein Django den Inhalt von fieldset.fields als String sehen? Danke für deine Hilfe!

Antwort

2

Es sieht aus wie die fields Eigenschaft eine Liste zurückgibt, die zwei Tupel enthält, so dass Sie könnte es durch eine for-Schleife ausgeführt werden soll jedes Tupel für die Mitgliedschaft in der Zeichenfolge ‚nanoadded‘

wie diese

Vielleicht zu überprüfen:

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

Vasili - danke für Ihren Vorschlag, aber wenn ich änderte die Linie

  • {{}} fieldset.fields
  • -
  • {{fieldset.fields | str}}
  • der folgende Fehler Ergebnisse: Ungültiger Filter: 'str' Vielleicht ist dies das Tuple-Problem, das Sie notiert haben. Ich werde sehen, ob ich herausfinden kann, wie man jedes Tupel einzeln betrachtet. – Sandra

    +1

    Django verwendet standardmäßig nicht 'Jinja', sondern eine eigene [Vorlagensprache] (https://docs.djangoproject.com/en/1.9/ref/templates/api/). – schwobaseggl

    +0

    Vasili - es ist das Tuple-Problem ... wenn ich jedes Tupel in einer Schleife betrachte, gibt es "nanoadded is here" für das zweite Tupel zurück. VIELEN DANK! – Sandra