he campo de formulario {{}} form.item, que pagará aCambiar el atributo de nombre de campo de formulario en la plantilla de Django usando
<input type="text" name="item" >
¿Cómo puedo cambiar el atributo de nombre del campo de formulario utilizando ¿etiquetas de plantilla personalizadas?
me trataron enviando el formulario de etiqueta de plantilla, donde
form.fields['item'].widget.attrs['name'] = 'new_name'
Pero no voy a conseguir el éxito.
Necesito cambiar el nombre del atributo en la plantilla.
ACTUALIZACIÓN
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,
}
plantilla
<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>
Ahora en etiqueta de plantilla personalizada que necesito para asignar nuevo nombre para cada campo de juego de formularios en línea
posible duplicado de [Reemplazar atributo 'name' del campo de formulario de Django] (http://stackoverflow.com/questions/8801910/override-django-form-fields-name-attr) – mgibsonbr
Por qué ¿quieres cambiar el nombre? ¿Qué te hace pensar que necesitas esto? –
Er, ¿qué? Ninguno de estos es un motivo para usar nombres dinámicos. Explique su caso de uso y por qué no está cubierto por la estructura de vista/conjunto de formularios estándar. –