Eine ähnliche Methode wie 'startswith' in Jinja2 / Flask

7

Ich bin auf der Suche nach einer Methode / Methode, die ähnlich wie Pythons Start ist. Was ich tun möchte, ist einige Felder in der Tabelle zu verknüpfen, die mit "i -" beginnen.

Meine Schritte:

  1. Ich habe Filter erstellt, die True / False zurückgeben:

    %Vor%

verknüpfte es dann mit der Vorlage:

%Vor%

Leider funktioniert es nicht.

Zweiter Schritt. Ich habe es ohne Filter gemacht, aber in Vorlage

%Vor%

Das funktioniert, aber zu dieser Vorlage werden verschiedene Daten gesendet, und es funktioniert nur für diesen Fall. Ich denke, dass [: 2] ein bisschen buggy sein könnte.

Also versuche ich Filter zu schreiben oder vielleicht gibt es eine Methode, die ich in der Dokumentation überspringe.

    
Ojmeny 05.02.2015, 14:04
quelle

2 Antworten

2

Der Ausdruck {% if {{ field | startswith }} %} funktioniert nicht, weil Sie keine Blöcke ineinander verschachteln können. Sie können wahrscheinlich mit {% if (field|startswith) %} durchkommen, aber ein benutzerdefinierter Test anstelle eines Filters würde dies tun eine bessere Lösung sein.

Etwas wie

%Vor%

Dann können Sie in Ihrer Vorlage {% if field is link_field %}

schreiben     
kylewm 05.02.2015, 16:18
quelle
23

Eine bessere Lösung ....

Sie können startswith direkt in field.name verwenden, da field.name einen String zurückgibt.

%Vor%

Mehr, Sie können eine beliebige String-Funktion verwenden, einschließlich str.endswith() , zum Beispiel.

    
Frederico Oliveira 27.03.2017 23:21
quelle

Tags und Links