so dass ich einige Recherchen tat, konnte aber nicht die Antwort auf meine speziellen Thema finden ... Was passiert ist, dass:Problem mit Django Template for-Schleife
Ich habe ein Modell namens Abschnitt, der SECTION_TITLE Feld haben. Dieses Feld kann Leerzeichen enthalten, zum Beispiel: "Erster Abschnitt".
Als ich das Django passieren, ich bin den Raum in Python zu entfernen mit replace(), und erstellt einen Filter auf Django, die auch den Raum wie so entfernt:
@register.filter(name='replace_char')
def replace_char(value, arg):
return value.replace(arg, '')
Dann auf meiner Vorlage:
Das Problem ist, dass Unterabschnitt als jedes Zeichen von section_title angezeigt wird, anstelle der Liste, die section_title verweist. Hier wird das Wörterbuch auf die Vorlage übergeben wird:
{ 'Abschnitte': [< Rubrik: Erster Abschnitt>, < Rubrik: Zweiter Abschnitt>], 'FirstSection': [< Unterabschnitt: Unterabschnitt 1>, < Abs : Unterabschnitt 2>], 'SecondSection': [< Unterabschnitt: BLA1->], 'testete': [ '1', '2', '3']}
Wenn ich hart codieren:
{% for subsection in FirstSection %}
Es funktioniert ...
Irgendwelche Ideen? Vielen Dank!
OBS: Ich entfernte die Leerzeichen, weil ich dachte, dass sie das Problem verursachten, aber anscheinend nicht. Es war nicht so gut mit den Räumen arbeiten ...
Voll Template-Code:
{% for section in sections %}
<div class="sectionHeader">
{{ section.section_title }}
</div>
<div class="forumSection">
{% for subsection in section.section_title|replace_char:" " %}
<div>
{{ subsection }}
</div>
{% endfor %}
</div>
{% endfor %}
Modelle:
class Section(models.Model):
def __str__(self):
return self.section_title
section_title = models.CharField(primary_key = True, unique = True, max_length = 50)
class Subsection(models.Model):
def __str__(self):
return self.subsection_title
subsection_title = models.CharField(max_length = 50)
subsection_section = models.ForeignKey(
'Section',
on_delete = models.CASCADE,
)
Ich glaube, was Sie verfolgen, ist die einzige Lösung. –
@AnupYadav, sorry, ich habe nicht verstanden, was du meintest. – GuiFGDeo
können Sie zeigen, welche Kontextvariable Sie aus Ihrer Sicht übergeben? –