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)

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.

  • Newbie python subprocess: "Schreibfehler: Broken pipe"
  • Zusätzlicher Parameter für Django Modelle
  • Wie man korrekt analysiert UTF-8 codierte HTML zu Unicode-Strings mit BeautifulSoup?
  • Wie benutze ich den Standard-Tokenizer von NLTK, um Spannen anstelle von Strings zu erhalten?
  • Word zählt in Python mit regulärem Ausdruck
  • Django return redirect () mit Parametern
  • Python networkx und Beharrlichkeit (vielleicht in neo4j)
  • Wie kann ich mehrere Variablen in Python speichern und wiederherstellen?
  • 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.