Django注册:注册失败后重定向因为缺少参数

时间:2016-04-03 05:36:05

标签: python django django-urls django-registration

我目前正在阅读有关django教程的探戈,并尝试在成功后使用重定向实现django注册。

我遵循了教程和我在a link中找到的另一个问题。

当我注册时,我得到了

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')),

]

任何人都知道我可能做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

事情发生了变化,现在你提供'用户'作为第一个位置参数。 request方法没有get_success_url个参数。您的代码应如下所示:

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

请参阅:github上的旧RegistrationView和新RegistrationView