Django viene fornito con alcuni ottimi strumenti per creare tag modello personalizzati.Argomenti di tag template personalizzati e parser kwargs
Registrare simple_tag e assignment_tag entrambi analizzano i contenuti del token in entrata e li convertono in args, kwargs
correttamente risolti nei loro riferimenti (ad esempio una variabile è stata passata in).
C'è un modo semplice per aggiungere questo comportamento a un tag regolare?
Ho bisogno di usare l'oggetto parser
quindi ho bisogno di usare un tag regolare, ma sembra che sto scavando un sacco di codice per riprodurre il 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
Ho bisogno di un tag che funziona come questo:
{% snippet foo=bar bar=baz %}
This is a glorious django template tag!
{% endsnippet %}
Sembra che questo è un tema così comune (un args, kwargs parser per gli argomenti di tag) che dovrebbe avere un frammento Django o qualcosa!
Simon, sei l'uomo! Grazie! –
Nessun problema. Sono contento di poterti aiutare. Spero che questo abbia risposto alla tua domanda. –
Devo ancora avere la possibilità di testarlo ma accetterò assumendo che funzioni! –