Ändern Sie die name-Attribut des form-Feld in der django-template mit

Ich habe Formularfeld {{form.item}} die render zu

        <input type="text" name="item" >

Wie kann ich das ändern das name-Attribut des Formularfeldes verwenden von benutzerdefinierten template-tags?

Ich habe versucht, durch das senden, das Formular template-tag, wo

       form.fields['item'].widget.attrs['name'] = 'new_name'

Aber ich bin nicht immer Erfolg.

Brauche ich zum ändern des name-Attributs im template.

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,
       }

Vorlage

  <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>

Nun im custom-template-tag muss ich zum zuweisen von neuen Namen für jedes Feld der inline-Formularsatz

mögliche Duplikate von Überschreiben Django form Feldname attr
Warum willst du den Namen ändern? Was macht Sie denken, Sie brauchen diese?
Äh, was? Weder von denen sind ein Grund für die Verwendung von dynamischen Namen. Erklären Sie Ihren Fall, und warum es nicht von der Norm abgedeckt Ansicht/Struktur-formset.
Ich möchte, um dies zu erreichen stackoverflow.com/questions/11929355/...
Ich aktualisierte die Frage

InformationsquelleAutor Asif | 2012-08-14

Schreibe einen Kommentar