2017-08-11 1 views
0

Ich baue eine Django-App und ich würde gerne eine Sicht/Funktion eine HTML-Zeile hinzufügen, um den inneren HTML eines bestimmten Div-Element mit einer ID jedes Mal, wenn es ausgeführt wird.Wie kann ich Django ein DOM-Element erzeugen oder ändern lassen?

Ich weiß, wie man das mit Javascript macht, aber dann würde ich die Ansicht brauchen, um dieses Skript jedes Mal auszuführen, wenn es läuft. Gibt es eine Möglichkeit, dies im Python-Dokument zu tun?

+0

Sie können ajax requets für eine bestimmte URL verwenden, in der Sie das Skript ausführen –

Antwort

0

Der Titel Ihrer Frage fragt nach dem Erstellen eines DOM-Elements in Python. Um in Ihrem views.py so zu tun,

from django.template import Context, Template 

def in_some_view(request): 
    template = Template('<div class="new-dom-element">Element</div>') 
    ''' 
    You can create elements above. You can even give it Context Variables 
    For example: template = Template('<div class="new-dom-element">{{ context_variable }}</div>') 
    ''' 
    context = Context({'context_variable': your_python_variable}) 
    #By sending the context variable "your_python_variable", you can do anything iteratively. 

    dom_element = template.render(context) 
    #Now you can return this dom_element as an HttpResponse to your Javascript. 
    #Rest of your code. 
    return HttpResponse(dom_element) 

Hinweis: Ich beantworten diese unter Berücksichtigung, dass Sie nicht einen Weg außerhalb der Domäne von AJAX fordert nehmen wollen. Wenn dies der Fall ist, ist es sehr schwierig, einige Daten zu übertragen und anzuhängen, wenn bereits ein HTML-Code auf dem Browser-Bildschirm angezeigt wird. Genau aus diesem Grund wurde AJAX entwickelt.

Hoffe, das hilft. Vielen Dank.

Verwandte Themen