2016-04-03 14 views
1

Ich gehe gerade durch den Tango mit Django-Tutorial und versuchen, Django-Registrierung mit Redirect implementieren, nachdem es erfolgreich war.Django Registrierung: Redirect nach der Registrierung fehlschlägt wegen fehlendem Argument

Ich folgte sowohl das Tutorial und was ich in a link eine andere Frage.

Als ich registrieren, erhalte ich

TypeError at /accounts/register/ 
get_success_url() missing 1 required positional argument: 'user' 

urls.py

from django.conf.urls import include, url, patterns 
from django.contrib import admin 
from registration.backends.simple.views import RegistrationView 

class MyRegistrationView(RegistrationView): 
    def get_success_url(self, request, user): 
     return '/student/' 


urlpatterns = [ 
    url(r'^student/', include('student.urls')), 
    url(r'^admin/', admin.site.urls), 

    # Add in this url pattern to override the default pattern in accounts. 
    url(r'^accounts/register/$', MyRegistrationView.as_view(), name='registration_register'), 
    url(r'^accounts/', include('registration.backends.simple.urls')), 
    url(r'', include('registration.auth_urls')), 

] 

jemand eine Idee, was ich tun könnte falsch sein?

Danke!

Antwort

3

Die Dinge haben sich seitdem geändert, jetzt liefern Sie 'Benutzer' als erstes Positionsargument. Und es gibt kein request Argument für get_success_url Methode. Der Code sollte wie folgt aussehen:

class MyRegistrationView(RegistrationView): 
    def get_success_url(self, user): 
     return '/student/' 

Siehe: Alte RegistrationView und neue RegistrationView bei Github.

+0

Danke, manchmal ist es so einfach. – kftb