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)

  • Django, fastcgi: wie man einen lang laufenden Prozess zu verwalten?
  • Django eine App ein Modell mehrere Datenbanken
  • Wie benutzt man Bcrypt, um Passwörter in Django zu verschlüsseln
  • Django: Erweiterung des Kontextes der Klassenbasierten Ansicht mit dem Admin-Kontext
  • Kann nicht herausfinden, wo Heroku App fehlschlägt [Fehler: pg_config ausführbare Datei nicht gefunden.]
  • Dynamische Einstellung von readonly_fields in django admin
  • 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.