Ich habe die folgende Django-Vorlage (http: // IP / admin / start / ist einer hypothetischen Ansicht namens view zugeordnet):
{% for source in sources %}
<tr>
<td>{{ source }}</td>
<td>
<form action="/admin/start/" method="post">
{% csrf_token %}
<input type="hidden" name="{{ source.title }}">
<input type="submit" value="Start" class="btn btn-primary">
</form>
</td>
</tr>
{% endfor %}
sources
ist das objects.all()
eines Django-Modells, auf das in der Ansicht verwiesen wird. Wenn auf eine Übermittlungseingabe "Start" geklickt wird, soll die Ansicht "Start" die {{ source.title}}
Daten in einer Funktion verwenden, bevor eine gerenderte Seite zurückgegeben wird. Wie sammle ich POST-Informationen (in diesem Fall in der versteckten Eingabe) in Python-Variablen?
input
und nur ein habe{{ form }}
und mein Formular nur eine Texteingabe (Zeichenfeld) hat. Wie kann ich auf seine Daten zugreifen?Wenn Sie am Frontend etwas tun müssen, können Sie auf das Onsubmit-Ereignis Ihres Formulars reagieren. Wenn Sie nur in admin / start posten, können Sie über das Anforderungsobjekt auf Postvariablen in Ihrer Ansicht zugreifen. request.POST ist ein Wörterbuch mit Post-Variablen
quelle
Für Django-Formen können Sie dies tun;
form = UserLoginForm(data=request.POST) #getting the whole data from the user. user = form.save() #saving the details obtained from the user. username = user.cleaned_data.get("username") #where "username" in parenthesis is the name of the Charfield (the variale name i.e, username = forms.Charfield(max_length=64))
quelle