Versuchen, mich selbst Python zu lehren. Ich habe eine einfache Web-App, die den Wert eines Formularfeldes annimmt, es einer Variablen namens "new_quote" zuweist und diese in ein "content" -Feld in einer SQLite-Tabelle einfügt.Iteration über Nichtsequenz Fehler mit Python-Webformular
Wenn ich die Taste auf der Web-Formular getroffen, ich bin ein Typeerror bekommen ...
<type 'exceptions.TypeError'>: iteration over non-sequence
args = ('iteration over non-sequence',)
message = 'iteration over non-sequence'
Es ist nicht die Linie unten mögen, aber ich bin mir nicht sicher, wohin sie gehen aus Hier.
Das CGI-Skript zum Hinzufügen des Angebots zur DB ist unten wiedergegeben. Jeder Rat würde geschätzt werden.
#!/usr/bin/env python
import sqlite3
import cgi
import cgitb
cgitb.enable()
# This code takes the content of the form and assigns it to a variable called new_quotes.
form = cgi.FieldStorage()
new_quote = form.value[(0)]
# Items from new_quotes are pushed into the DB in the code below.
for each_item in new_quote:
connection = sqlite3.connect("quotes.sqlite")
cursor = connection.cursor()
content = new_quote[each_item].content
cursor.execute("INSERT INTO quotes(content) VALUES (?)")
connection.commit()
connection.close()
Ok danke für den Tipp. Ich nenne das eine bestimmte Instanz des Objekts "new_quote" angeben. Ich änderte die for-Schleife, um so zu sehen ... 'für jedes_Element in neuer_Quelle.new_quote:' Jetzt bekomme ich diesen Fehler: MiniFieldStorage-Instanz hat kein Attribut 'neue_quote' –
Trey
Wirklich herausgefunden gerade eben. Danke für deinen Tipp! – Trey