J'ai une liste de sections que je passe à un modèle Django. Les sections ont des types différents. Je veux dire "s'il y a une section de ce type, affichez cette ligne" dans mon modèle, mais avoir un problème. Ce que j'essaie essentiellement de faire est-ce. mais bien sûr que cela ne fonctionne pas. N'importe quelle idée comment essentiellement en une ligne de ligne via les éléments d'une liste et faire une déclaration IF? P> Info supplémentaire: Je pourrais potentiellement avoir plusieurs sections "sociales". Ce que j'essaie de faire dans le modèle, c'est dire "s'il y a des sections sociales, affichez cette div. Sinon, n'ayez pas afficher la DIV." Mais je ne veux pas que la Div se répète, ce qui se passerait avec le code ci-dessus. Strong> p> p>
3 Réponses :
Vous ne pouvez pas utiliser de compréhensions de liste dans les modèles:
{% for s in sections %} {% if s.name == 'Social' %} Hello Social! {% endif %} {# closing if body #} {% endfor %} {# closing for body #}
Devrait être s.name == 'social' code>.
Peut-être que j'aurais dû inclure des informations différentes. Je pourrais potentiellement avoir plusieurs sections "sociales". Ce que j'essaie de faire dans le modèle, c'est dire "s'il y a des sections sociales, affichez cette div. Sinon, n'ayez pas afficher la DIV." Mais je ne veux pas que la Div se répète, ce qui se passerait avec le code ci-dessus. Les pensées?
Idéalement ce que vous feriez, c'est créer une liste que le modèle obtient comme tel: et dans le modèle, utilisez: p>
{% if sections.0.name == "Social" %} Hello Social! {% endif %}