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 Datum Format Problem - stimmt nicht mit Format
  • Entfernen von tmp-Datei nach der Rückkehr HttpResponse in django
  • Wie richte ich die Berechtigungen in django-rest-framework ein, damit der Session-Benutzer nur Objekte auflisten kann, die einen fremden Schlüssel für diesen Benutzer haben?
  • Django Internationalisierung Sprachcodes
  • Nicht-globale Middleware in Django
  • Überprüfen Sie, ob Schlüssel in einem Python-Dikt in Jinja2-Vorlagen vorhanden ist
  • 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.