Ich verwende curl
, um die Ausgabe meiner Web-App zu sehen. Wenn Flask und Jinja Vorlagen rendern, gibt es in der Ausgabe viel unnötigen Leerraum. Es scheint hinzugefügt zu werden, indem verschiedene Komponenten von Flask-WTF und Flask-Bootstrap gerendert werden. Ich könnte dies mit sed
ausziehen, aber gibt es eine Möglichkeit, dies von Jinja zu kontrollieren?Entfernen Sie unnötige Leerzeichen aus Jinja gerenderten Vorlage
Antwort
Jinja hat mehrere Möglichkeiten zu control whitespace. Es nicht haben eine Möglichkeit, Ausgabe zu verschönern, müssen Sie manuell sicherstellen, dass alles "nett" aussieht. Die breiteste Lösung besteht darin, trim_blocks
und lstrip_blocks
auf dem env.
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
Wenn Sie eine neue Zeile am Ende der Datei behalten möchten, setzen Sie strip_trailing_newlines = False
.
Sie können Steuerzeichen verwenden, um die Funktionsweise des Leerraums um einen Block zu ändern. -
entfernt immer Leerzeichen, +
behält es immer bei und überschreibt die env-Einstellungen für diesen Block. Das Zeichen kann an den Anfang oder das Ende (oder beide) eines Blocks gehen, um das Leerzeichen in dieser Richtung zu steuern.
{%- if ... %} strips before
{% if ... +%} preserves after
{%+ if ... -%} preserves before and strips after
remember that `{% endif %}` is treated separately
Beachten Sie, dass die Steuerzeichen gelten nur für Vorlagen Sie schreiben. Wenn Sie eine Vorlage hinzufügen oder ein Makro von einer dritten Partei verwenden, wird die Vorlage für dieses Teil angewendet.
Ist '+' und '-' auf alle Tags anwendbar? '{% endif +%}' gibt mir 'erwartetes Token 'Ende des Anweisungsblocks', bekam '+'' :( –
Außerdem gibt '{% if True +%}' mir 'unerwartetes' Ende des Anweisungsblocks ' "Vielleicht hat sich jinja2 seitdem weiterentwickelt? –
Bitte melde das als Fehler mit Jinja. – davidism
- 1. XSLT - Entfernen von Leerzeichen aus der Vorlage
- 2. Entfernen Sie unnötige Zeilenumbrüche bei der Vorlagenausgabe?
- 3. wie man jinja Vorlage direkt aus dem Dateisystem laden
- 4. Wie indexieren Sie eine Jinja-Vorlage?
- 5. So entfernen Sie Leerzeichen aus einem XmlDocument
- 6. Entfernen Sie Leerzeichen aus Dateinamen im Ordner
- 7. Entfernen Sie alle Leerzeichen aus einer Zeichenfolge
- 8. Entfernen Sie überschüssige Leerzeichen aus einer Zeichenfolge
- 9. Entfernen Sie unnötige Header in WordPress
- 10. Entfernen Sie unnötige Bereiche von Swings Components
- 11. JAXB: Entfernen Sie zusätzliche unnötige Tag
- 12. Entfernen Sie unnötige Dateierweiterungen von Name
- 13. Entfernen Sie mehrzeilige Leerzeichen
- 14. php $ _get entfernen + aus Leerzeichen
- 15. Generieren Sie eine statische Seite aus einer Jinja Vorlage und servieren Sie sie mit Flask
- 16. Gson entfernen unnötige verschachtelte Objektfelder
- 17. So entfernen Sie Leerzeichen aus der Zeichenfolge in der Django-Vorlage
- 18. Abrufen von Host-Informationen innerhalb jinja Vorlage
- 19. Verschachtelte Schleife in einem Ansible Jinja Vorlage
- 20. Jinja Vorlage analysiert Variable als Literal-String
- 21. Vermeiden Sie unnötige Leerzeichen in far Manager integrierten Editor
- 22. Legen Sie die Folium-Karten in die Jinja-Vorlage
- 23. Wie kann ich eine JS-Vorlage aus einer gerenderten HTML-Vorlage rendern?
- 24. Entfernen von Leerzeichen aus einer Zeichenfolge
- 25. Entfernen Sie unnötige Zeichen mithilfe der SQL-Abfrage
- 26. PHP: Entfernen Sie zusätzliches Leerzeichen aus einer Zeichenfolge mit Regex
- 27. Entfernen Sie mehrere Leerzeichen aus Variablenwerten in Angular
- 28. Wie eine Basis Flask Jinja Vorlage aus einer Blueprint-Vorlage zu verlängern?
- 29. Entfernen Sie unnötige Attribute von HTML-Tag mit JavaScript RegEx
- 30. Entfernen Leerzeichen aus Zeichenfolgen in Groovy
verwandt: http://stackoverflow.com/questions/5191147/space-less-tag-for-jinja-templates – davidism