Mam pole formularza {{}} form.item który oddaZmień atrybut name pola formularza w szablonie django użyciu
<input type="text" name="item" >
Jak mogę zmienić atrybut nazwa pola formularza za pomocą niestandardowe tagi szablonów?
Próbowałem wysyłając formularz do szablonu tagu gdzie
form.fields['item'].widget.attrs['name'] = 'new_name'
Ale nie jestem uzyskania sukcesu.
Potrzebuję zmienić atrybut nazwy w szablonie.
UPDATE
models.py
class A(models.Model):
name = models.CharField(50)
type = models.CharField(50)
class B(models.Model):
field1 = ForeignKeyField(A)
value = IntegerField()
views.py
def saving_calculation(request):
SavingFormset = modelformset_factory(A, extra=2)
OfferInlineFormSet = inlineformset_factory(
A, B,
extra = 4
)
if request.method == 'POST':
pass
else:
offer_formset = OfferInlineFormSet()
saving_formset = SavingFormset(queryset=SavingCalculation.objects.none())
return render_to_response(
'purchasing/saving_calculation.html',
{
'offer_formset':offer_formset,
'saving_formset':saving_formset,
}
szablon
<form action="." method="POST">
{{ offer_formset.management_form }}
{{ saving_formset.management_form }}
{{ saving_formset.prefix }}
<table>
<thead>
<tr>
<th>Business Unit</th>
<th>Category</th>
<th>Buyer</th>
<th>Offer1</th>
<th>Offer2</th>
<th>Offer3</th>
<th>Offer4</th>
</tr>
</thead>
<tbody>
{% for saving in saving_formset.forms %}
<tr>
<td>{{saving.businessunit}}</td>
<td>{{saving.type_of_purchase}}</td>
<td>{{saving.buyer}}</td>
{% for offer in offer_formset.forms %}
<td>{{ offer|set_field_attr:forloop.counter0 }}</td>
</tr>
{% endfor %}
{% endfor %}
</tbody>
</table>
<input type="submit" value="Save" />
</form>
Teraz w tagu niestandardowego szablonu muszę przypisać nową nazwę dla każdej dziedziny inline formset
możliwe duplikat [przesłanianie formularz Django polu za nazwisko attr] (http://stackoverflow.com/questions/8801910/override-django-form-fields-name-attr) – mgibsonbr
Dlaczego czy chcesz zmienić nazwę? Co sprawia, że myślisz, że tego potrzebujesz? –
Er, co? Żadne z nich nie jest powodem używania nazw dynamicznych. Wyjaśnij swój przypadek użycia i dlaczego nie jest on objęty standardową strukturą widoku/zestawu formularzy. –