Mam trasa zdefiniowane tak:referencyjny szablon zmienna w ciągu wypowiedzi Jinja
@app.route('/magic/<filename>')
def moremagic(filename):
pass
A teraz w szablonie Chcę wywołać tę trasę korzystając url_for()
tak:
<h1>you uploaded {{ name }}<h1>
<a href="{{ url_for('/magic/<filename>') }}">Click to see magic happen</a>
próbowałem :
<a href="{{ url_for('/magic', filename={{ name }}) }}">Click to see magic happen</a>
to rzuca jinja2.TemplateSyntaxError: expected token ':' got }
Czy ktoś może zasugerować, jak uzyskać {{ name }}
, który pojawia się w szablonie do url_for()
, tak aby po kliknięciu zadzwonić poprawne app.route
?
Hej, używam Django, a kiedy robię to samo co powyżej, otrzymuję TemplateSyntaxError. Mówi, że nie można sparsować pozostałej części: '(' static ', filename =' images/'+ card.id)' from 'url_for (' static ', filename =' images/'+ card.id)' Zasadniczo moja karta .id wartości są jak 1, 2, 3, 4 i tak dalej. I moje w statycznych/images/są pliki o nazwach 1.jpg, 2.jpg itd. ORAZ otrzymuję powyższy błąd. –
@AnkushRaghuvanshi: to pytanie i odpowiedź dotyczy Jinja2, * nie * Django. Jinja2 to projekt oparty na szablonach Django, ale nie jest to ten sam projekt. –
Zgadzam się. Pomyślałem, że powinienem wspomnieć, że używam Django dla wygody innych użytkowników, co może być w stanie mi pomóc, ponieważ tagi w tym pytaniu zawierają Flask, a nawet Python, nawet jeśli Python nie jest związany z tym technicznie. Niemniej jednak mam rozwiązanie tylko w oficjalnej dokumentacji Django -> https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#get-static-prefix –