2016-11-16 11 views
-2

Hallo allerseits ich meine ersten simple_tag vorbei Wert schaffen, aber ich habe Probleme den WertWie Wert für einfache Tags erhalten Django

in meiner Vorlage Ich habe dies der Wert, die ich passieren müssen zu erhalten, ist ein string "footer1"

{% render_footer "footer1" %} 

jetzt ist meine Funktion wie diese

def render_footer(footer_opc): 
    home = Page.objects.get_home() 
    return home.homeextension.footer_opc 

in diesem Fall soll ich das footer_opc = "footer1" so die Rückkehr home.homeextension.footer1 werden muss, aber don 't wo rk, y versuchen auch diese

def render_footer(footer_opc="footer1"): 
    home = Page.objects.get_home() 
    return home.homeextension.footer_opc 

Aber ich erhalten das gleiche Ergebnis .. den Code Rückkehr home.homeextension.footer_opc, diese nicht exist ... aber ich weiß nicht, den Wert von footer_opc zu erhalten.

Ich versuche, dies auf return home.homeextension.+ footer_opc aber das gleiche Ergebnis zurückzugeben.

Irgendeine Idee! Danke im Voraus!

+0

Dies könnte helfen: https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#simple-tags – Kedar

Antwort

3

Diese Frage hat nichts mit Template-Tags zu tun.

Um ein Attribut anhand des Namens von einem Objekt zu erhalten, verwenden Sie getattr.

return getattr(home.homeextension, footer_opc) 
+0

Du bist mein Held @ Daniel Roseman – Stone