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?
Ä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.
Fügen Sie dann Ihre benutzerdefinierte Registrierungsansicht in Ihre Hauptversion urls.py
ein, anstatt die einfachen Back-End-URLs einzubeziehen.
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
Tags und Links django django-templates django-views django-registration