Wie können Benutzer nach der Registrierung in der Django-Registrierung zu einer bestimmten URL weitergeleitet werden?

8

Also verwende ich die django-Registrierungs-App, um eine Benutzerregistrierungsseite für meine Site zu implementieren. Ich benutzte Djangos Backends. Einfache Ansichten, die den Benutzern erlauben, sich sofort nach der Registrierung anzumelden. Meine Frage ist, wie leite ich sie auf die Seite meiner anderen App um, die sich im selben Verzeichnis wie das Projekt befindet.

Hier sieht meine Hauptseite urls.py so aus:

%Vor%

fileupload ist der Name der anderen App, die ich im Projektverzeichnis mysite habe.

So sieht das backends.simple.urls aus:

%Vor%

Und hier ist die backends.simple.views:

%Vor%

Ich habe versucht, die Funktion get_success_url so zu ändern, dass ich einfach die gewünschte URL zurückschicke, die / upload / new ist, aber es hat mich immernoch auf die Seite Username umgeleitet und gab einen Fehler aus. Wie leite ich den Nutzer auf die Upload- / neue Seite weiter, auf der sich die andere App nach der Registrierung befindet?

    
user2476295 17.07.2013, 19:39
quelle

2 Antworten

17

Ändern Sie den Code im Modul registration nicht. Erstelle stattdessen die Klasse RegistrationView und überschreibe die Methode get_success_url , um die gewünschte URL zurückzugeben.

%Vor%

Fügen Sie dann Ihre benutzerdefinierte Registrierungsansicht in Ihre Hauptversion urls.py ein, anstatt die einfachen Back-End-URLs einzubeziehen.

%Vor%     
Alasdair 17.07.2013 23:51
quelle
0

Wenn Sie möchten, können Sie die folgende Datei ändern /usr/local/lib/python2.7/dist-packages/registration/backends/simple/urls.py , indem Sie den Pfad ändern, z Beispiel:

Vor dem Ändern:

success_url = getattr (Einstellungen, 'SIMPLE_BACKEND_REDIRECT_URL', '/'),

Nach der Änderung:

success_url = getattr (Einstellungen, 'SIMPLE_BACKEND_REDIRECT_URL', '/ upload / new'),

Grüße.

Diego

    
Diego Santos 15.11.2017 18:48
quelle