2016-09-22 3 views
0

ich ein Attribut von Objekten, die in HTML-Template wie folgt wiedergegeben werden können:Django Formularname als Attribut in HTML-Vorlage

{{ mymodels.something }} 

In meinem Fall habe ich Formen ein Eingabefeld enthalten, die mit dem Namen ähnlich „etwas“, so will ich so etwas in meiner Vorlage auszuführen:

{% for form in my_form %} 
{{ mymodels.form.name }} <!-- is same as mymodels.something --> 
{% endfor %} 

aber es kann nicht gemacht werden .. Wie kann ich etwas tun, wie das?

+0

Können Sie bitte mehr erklären, was Sie zu tun versuchen? So können Sie den bestmöglichen Weg dazu finden. –

+0

In meinem Fall habe ich Formulare, die ein Eingabefeld mit dem Namen "form.name" mit dem gleichen Wert wie "etwas" enthalten. Wenn ich also {{etwas}} schreibe, gibt es den gleichen Wert mit {{form zurück .name}} .. – Faizalprbw

+0

Wenn ich params = {'person_name': 'Faizalprbw'} habe und sie an die Vorlage weiterleite, wenn wir {{person_name}} verwenden, wird dein Name ausgedruckt. –

Antwort

0

Formulare sind etwas, um Daten auf der Client-Seite zu sammeln - senden Sie es an die Server-Seite, die sie validiert und etwas damit macht (z. B. das Schreiben in Modelle, oder vielleicht zurück in den Kontext der nächsten Rendering).

Wenn Ihre Vorlage gerendert wird, wird auch Ihr Formular gerendert (Erstellen des Markups, Bereitstellen von Startwerten) - Wenn die Vorlagen-Engine ihren Job beendet hat, wird der HTML-Code an den Browser gesendet.

Wenn Sie beim Rendern auf Formulardaten zugreifen möchten, wird immer derselbe Wert angezeigt: der Anfangswert. Was macht nicht viel Sinn. Sie könnten die gleichen Daten einfach an Ihren Renderkontext übergeben und von dort aus verwenden.

Lesen Sie die docs für weitere Informationen zu Formularen, vor allem der Teil rendering fields manually könnte Sie interessieren - wenn Ihre Frage in diese Richtung zielt.