Django: Wie am besten diesen Registrierungsprozess umsetzen?

Django, Flask, Bottle, WSGI, CGI…
Antworten
TDO
User
Beiträge: 25
Registriert: Montag 10. Juli 2006, 19:49
Kontaktdaten:

Sers,

ich beschaeftige mich grad wieder ein wenig mit Django und frage mich wie ich diesen Regisitrierungprozess schoen umsetzen kann:

---

User registriert sich nur mit E-Mail Adresse.
-> Bekommt eine E-Mail mit einem generierten Passwort zugesendet.
User kann sich nun mit seiner E-Mail Adresse und diesem Passwort einloggen, bekommt aber nun einen Screen zu sehen wo noch weitere Angaben gemacht werden koennen.

Wenn er diesen Abschickt kommt er in sein Profil.

----

Naja ich meine an der Umsetzung scheitert das ganze nicht ... einfach ein paar views anlegen und die ganzen Sachen abarbeiten.

Irgendwie ist das ganze aber unschoen wie ich finde also in der den views der app register_1 und register_2 methoden anzulegen und so weiter ... ausserdem muesste man ja auch eine eigenene Loginmethode schreiben die erstmal schaut ob des ein neuer User ist und dann gegebenenfalls un den register step 2 weiterleiten.

Naja ich hab mir nun ueberlegt die Registrierung als eigene app auszulagern, was daran wieder unschoen ist ist ja, dass die login view in meinem Fall mit dem Register Prozess gekoppelt is und ich des wiederum unschoen finde sowas in 2 apps zu trennen .. von wegen Sachen die von einander Abhaengen oder aufeinander basieren sollte man ned trennen.

Wie wuerdet ihr das ganze denn einfach vom Softwaredesign standpunkt aus loesen? oder euch da dran machen?

Danke schonmal
TDO
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Ich würde django-registration verwenden. Was die usernames betrifft: http://www.python-forum.de/topic-21500.html

Ich würde dir raten auf den Username nicht zu verzichten!
TDO
User
Beiträge: 25
Registriert: Montag 10. Juli 2006, 19:49
Kontaktdaten:

hi apollo13,

ich habe nicht vor auf den Usernamen zu verzichten, er soll halt mit nen paar anderen Daten zusammen im 2ten register step eingetragen werden.
Ausserdem habe ich auch nicht vor auf das django auth system zu verzichten.

Mein Plan war es noch ein TempUser Model vorzuschalten und wenn die Registrierung komplett abgeschlossen ist die Daten ins django auth model rueber zu kopieren und das TempUser Model zu loeschen.

Mir geht es eher um die strukturelle eben softwaredesigntechnische umsetzung des ganzen.

Ich weiss das es django-registration gibt moechte es aber nicht benutzen da ich ja was bei der ganzen geschichte lernen will, ich habe mir auch den Quellcode davon schon angesehen, also wie es dort gelöst ist mit der Backend Klasse...

Wuerdet ihr einfach auch eine Backend Klasse schreiben mit eben register_step_1 und register_step_2 methoden oder wie wuerdet ihr das loesen? und vor allem was is mit dem login view? wuerdet ihr versuchen das bestehende zu wrappen und das ganze dann auch mit in die registration app packen?

Mir geht es halt darum das ich gern lernen wuerde wie man das ganze in schoen und sinnvoll hinbekommt... irgendwie hinbekommen is ja ned das Problem.

Gruessle TDO
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

TDO hat geschrieben:Mein Plan war es noch ein TempUser Model vorzuschalten und wenn die Registrierung komplett abgeschlossen ist die Daten ins django auth model rueber zu kopieren und das TempUser Model zu loeschen.
Klingt gut
Wuerdet ihr einfach auch eine Backend Klasse schreiben mit eben register_step_1 und register_step_2 methoden oder wie wuerdet ihr das loesen?
Kommt darauf an, ob den code andere auch noch verwenden werden/sollen und wie flexible das ist, ich denk ich würd einfach die 2 views in views.py packen
und vor allem was is mit dem login view?
Was soll damit sein? Solange der User den 2. Schritt noch nicht beendet hat kann er sich nicht einloggen; ich würds so machen:
* User klickt im Email auf Link um die Registrierung abzuschließen
* Er kommt auf den 2. view
* dort trägt er alles ein und klickt auf abschließen
* der 2. view bekommt die Daten wieder, legt den User an und loggt ihn gleich ein

MfG, apollo13
Antworten