Я написал собственный конструктор для формы, весь класс формы выглядит так:
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
При отправке формы, на мой взгляд, у меня есть что-то вроде
if request.method == 'POST':
form = UploadForm(request.POST, request.FILES)
if form.is_valid():
add_form(request.FILES['file'])
return HttpResponseRedirect('uploaded/')
Проблема в том, что когда я создаю форму таким образом, на мой взгляд, я не передаю coto и naglowek , поэтому когда я вызываю форму is_valid () -> возвращает false.
Шаблон, который прошёл, выглядит так:
<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>
Буду благодарен за любые предложения.
[EDIT]
Я не могу сказать это достаточно ясно, но я буду стараться изо всех сил:
Когда я отправляю эту форму, мне нужно знать, какая кнопка отправки была нажата - многие из них назначены для одной формы. Из того, что я знаю, когда я назначаю идентификатор кнопке отправки, это должно быть доступно в посте, верно? Хитрость в том, что это не доступно.
У меня есть два вопроса:
* Что нужно сделать, если я хочу знать, какая кнопка отправки была нажата? Является ли присвоение имени единственным способом?
* Есть ли ошибка в моей логике?