J'ai le texte suivant Django (http: // IP/admin/start/est attribué à une vue hypothétique appelée vue):
{% 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
est la objects.all()
d'un modèle Django référencé dans la vue. Chaque fois qu'une entrée "Démarrer" est soumise, je veux le "début" Pour utiliser les données {{ source.title}}
dans une fonction avant de renvoyer une page rendue, comment collecter les informations POSTÉES (dans ce cas, dans l'entrée masquée) dans Python?)?
Découvrez les objets de requête que vos vues reçoivent: https://docs.djangoproject.com/en/dev/ref/request-response/#httprequest-objects
De plus, votre champ masqué nécessite un nom fiable, puis une valeur:
<input type="hidden" name="title" value="{{ source.title }}">
Puis dans une vue:
request.POST.get("title", "")
Si vous devez faire quelque chose au départ, vous pouvez répondre à l'événement onsubmit de votre formulaire. Si vous publiez simplement sur admin/start, vous pouvez accéder aux variables de publication dans votre vue via l'objet de requête. request.POST qui est un dictionnaire de variables post