J'ai écrit constructeur personnalisé pour une forme, toute la classe de forme ressemble à ceci:Django: constructeur personnalisé pour la classe de forme, des problèmes avec l'accès aux données de request.POST
class UploadForm(forms.Form):
file = forms.FileField(label = "Plik")
def __init__(self, coto, naglowek, *args, **kwargs):
super(UploadForm, self).__init__(*args, **kwargs)
self.coto = coto
self.naglowek = naglowek
Lors de la présentation sous forme, à mon avis , j'ai quelque chose comme
if request.method == 'POST':
form = UploadForm(request.POST, request.FILES)
if form.is_valid():
add_form(request.FILES['file'])
return HttpResponseRedirect('uploaded/')
Le problème est que lorsque je crée la forme de cette façon, à mon avis, je ne suis pas repassais Coto et naglowek, alors quand je fais appel form.is_valid() -> retourne false.
Le modèle qui passess il ressemble:
<table class="uploadform">
<form action="." method="POST" enctype="multipart/form-data">
{% for form in forms %}
<tr>
<td>{{ form.naglowek }}</td>
<td>{{ form.file }}</td>
<td><input type="submit" name="{{ form.coto }}" id="{{ form.coto }}" value="Wyślij"></td>
</tr>
{% endfor %}
</form>
</table>
Je vous serais reconnaissant pour toute suggestion.
[EDIT] je ne pourrais pas le dire assez clearlly, mais je vais essayer de mon mieux:
Quand je présente ce formulaire, en vue, je dois savoir qui soumettre bouton a été pressé - I avoir beaucoup d'entre eux affectés à une forme unique. D'après ce que je sais, quand j'attribue un identifiant à un bouton de soumission, il devrait être disponible en courrier, n'est-ce pas? L'astuce est que ce n'est pas disponible.
J'ai deux questions: * Ce qui doit être fait, si je veux savoir quel bouton de soumission a été pressé? Est-ce que l'attribution du nom est le seul moyen? * Y a-t-il une erreur dans ma logique?
Veuillez mettre vos vrais messages d'erreur et de retraçage dans la question. –