Django, özel şablon etiketleri oluşturmak için bazı harika araçlarla birlikte gelir.Özel şablon etiketi ve kwargs ayrıştırıcısı
simple_tag ve assignment_tag kodunu hem gelen belirteç içeriğini ayrıştırın hem de referanslarına doğru bir şekilde çözümlenerek (bir değişkenin geçtiğini söyleyin) args, kwargs
'a dönüştürün.
Bu davranışı normal bir etikete eklemek için basit bir yol var mı?
parser
nesnesini kullanmam gerekiyor, bu nedenle normal bir etiket kullanmam gerekiyor, ancak args, kwargs
ayrıştırıcısını çoğaltmak için çok fazla kodla doluyum gibi görünüyor. Bu gibi görünüyor
{% snippet foo=bar bar=baz %}
This is a glorious django template tag!
{% endsnippet %}
böyle ortak bir sorundur bir django parçacığını varsa veya gerektiği (bir args, etiket argümanlar için ayrıştırıcı 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
böyle fonksiyonlar bir etiket ihtiyaç bir şey!
Simon, adamsın! Teşekkür ederim! –
Endişeye gerek yok. Yardımcı olduğuma sevindim. Umarım bu soruya cevap vermiştir. –
Henüz test etme şansım var ama çalıştığını kabul ediyorum! –