[de] request.form MultiDict und getitem

1 view
Skip to first unread message

jedie

unread,
May 19, 2006, 9:43:47 AM5/19/06
to colubrid-users
Ich mußte erst wieder lange suchen, bis ich mal dahinter gekommen
bin...

Ich hab ein paar Debug-print's gemacht:
1. - print self.request.form.keys()
2. - print self.request.form
3. - print self.request.form["tablename"]

Beispiel-Ausgabe:

1. - ['reinit', 'tablename', 'simulation']
2. - {'tablename': [u'plugins', u'session_data', u'templates',
u'user_group']}
3. - user_group

Ich wunderte mich, warum ich mit form["tablename"] nur immer einen
Eintrag bekommen hab, obwohl es ja eigentlich eine Liste sein sollte.

Die Lösung steht in colubrid.utils.MultiDict.__getitem__():
"""
Return the last data value for this key, or [] if it's an empty
list;
raises KeyError if not found.
"""
Dort sehe ich auch, das ich an meine Daten mit
form.getlist("tablename") kommen würde... Aber warum das ganze? Wo
steckt da der tiefere Sinn? Warum gibt mir __getitem__ nicht gleich die
ganze Liste wieder? So wie man es von einem normalen dict erwarten
würde?

Reply all
Reply to author
Forward
0 new messages