Django zawiera doskonałe narzędzia do tworzenia niestandardowych tagów szablonów.Niestandardowy znacznik szablonu args i parser kwargs
Zarejestruj simple_tag i assignment_tag zarówno analizują zawartość przychodzącego tokena, jak i konwertuj je na args, kwargs
poprawnie rozwiązane na swoje referencje (powiedzmy, że zmienna została przekazana).
Czy istnieje prosty sposób dodania tego zachowania do zwykłego tagu?
Potrzebuję użyć obiektu parser
, więc muszę użyć zwykłego tagu, ale wygląda na to, że wkradam się za dużo kodu, aby odtworzyć parser args, kwargs
.
@register.tag(name='snippet')
def snippet_with_defaults(parser, token):
bits = token.split_contents()[1:]
bits # bits needs to be converted to args, kwargs easily
muszę tag, który działa tak:
{% snippet foo=bar bar=baz %}
This is a glorious django template tag!
{% endsnippet %}
Wydaje się, że jest to taki wspólny problem (AN args, kwargs parser argumentów znaczników), że powinien on mieć fragment django lub coś!
Simon, jesteś mężczyzną! Dziękuję Ci! –
Bez obaw. Cieszę się, że mogłem pomóc. Mam nadzieję, że to odpowiedziała na twoje pytanie. –
Nie miałem jeszcze okazji go przetestować, ale przyjmuję, zakładając, że działa! –