Seite 1 von 1

hat user no attribute 'username' !?

Verfasst: Donnerstag 3. September 2009, 16:25
von snoer

Code: Alles auswählen

userlist = User.objects.all()
for user in userlist:
	if request.POST.username == user.username:
		return render_to_response('base_error.html')
das ist mein code.
als fehler bekomme ich folgende meldung:

Code: Alles auswählen

'QueryDict' object has no attribute 'username'
ändere ich meinen code zum debuggen wie folgt ab:

Code: Alles auswählen

userlist = User.objects.all()
for user in userlist:
	if request.POST.username == user.username:
		return HttpResponse(request.POST)
erhalte ich dies:
username
first_name
password_pass1
email
password_pass0

daraus schließe ich dass er sich schwertut user.username aufzurufen..
denn request.POST enthält offensichtlich 'username'

sollten meine schlussfolgerungen bis hierhin richtig sein, so verratet mir bitte was ich falsch gemacht habe. irgendwie muss man doch sowas prüfen können.

:?:

Verfasst: Donnerstag 3. September 2009, 17:01
von jens
POST ist eine Art dict. Also vielleicht so:

Code: Alles auswählen

if request.POST and request.POST.get("username") == user.username:
Dennoch komisch was du da machst ;)

EDIT: Wenn du einen gültigen User aus den POST Daten haben möchtest, kannst du besser eine User-Modelform machen. So kann man die Post Daten IMHO besser validieren.

Verfasst: Donnerstag 3. September 2009, 20:20
von snoer
Dennoch komisch was du da machst :wink:
*g
ja ich habs so gemacht wie es mir grad am einfachsten erschien.
sinn der sache sollte es sein, valide userdaten zu bekommen die dann
direkt an create_user() weitergereicht werden.

wenn das keine gute idee ist (und den eindruck habe ich jetzt mehr denn je)
wäre ein link zur passenden doc oder ein funktionierendes beispiel hilfreich.
:)