Wie man den Eingabewert von HTML-Formular abruft, wenn das Formular in django für loop ist

Ich habe eine Situation. Ich habe eine Django-Vorlage ip_form.html gegeben.

<form method = "GET"> {% for val in value_list %} <input type='text' value = '{{ val }}'> {{ val }}</input> {% endfor %} </form> 

Ich möchte dir das sagen, ich habe unbekannte nein von val in value_list (kann null sein). Also darf ich nicht django form.py (und auch ich bekomme Wert in bestimmten Zeit einer bestimmten Ansicht Funktion, dh weiß nicht, Wetter wird es alle Zeit auftreten)

  • TypeError 'x' Objekt hat kein Attribut '__getitem__'
  • Speichern von Bildern im DB mit Django-Modellen
  • Django - Werte aus POST-Anfrage
  • Infinte-Rekursion bei der Erweiterung der App-Change_form-Vorlage des Admin
  • Richtiger Weg, um Daten aus RESTFUL API in Django zu verbrauchen
  • ChoiceField zeigt bei der Verwendung eines Tupels kein leeres Label an
  • Sagen wir in views.py

     def view1(request): value_list = [1,2,3,4,5] # it will change every time view1 will get request if request.method == "GET": # i want to retrieve here post return render ('ip_form.html','value_list':value_list) 

    Wie kann ich form.py verwenden?

    Also, wie kann ich es abrufen? Sie können mich nach der Methode verweisen. (Es ist nicht eine sensible Daten so kein Problem mit Get-Methode)

    Vielen Dank.

    One Solution collect form web for “Wie man den Eingabewert von HTML-Formular abruft, wenn das Formular in django für loop ist”

    Sie müssen ein Namensattribut zu Ihren Eingaben hinzufügen und dann können Sie diesen Namen verwenden, um eine Liste von Werten abzurufen , indem Sie die Django QueryDict getlist Methode verwenden :

    HTML:

     <form method="POST"> {% for val in value_list %} <input type='text' value='{{ val }}' name='my_list'>{{ val }}</input> {% endfor %} </form> 

    Aussicht:

     def view1(request): value_list = [1,2,3,4,5] # it will change every time view1 will get request if request.method == "POST": values_from_user = request.POST.getlist('my_list') return render ('ip_form.html', 'value_list': value_list) 

    values_from_user ist eine Liste von Eingabewerten aus deinem Formular (oder eine leere Liste, wenn das Formular null input ).

    Bitte beachten Sie, dass ich Ihre Formularmethode auf POST geändert habe, da sonst der request.method Test in Ihrer Ansicht sinnlos wäre.

    Python ist die beste Programmiersprache der Welt.