Django注册:由于缺少参数,注册失败后重定向

Posted

技术标签:

【中文标题】Django注册:由于缺少参数,注册失败后重定向【英文标题】:Django registration: Redirect after registering fails because of missing argument 【发布时间】:2016-07-22 18:35:52 【问题描述】:

我目前正在阅读 tango with django 教程,并在成功后尝试使用重定向实现 django 注册。

我遵循了教程和我在a linkanother question 中找到的内容。

当我注册时,我得到

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】:

从那时起情况发生了变化,现在您提供“用户”作为第一个位置参数。 get_success_url 方法没有 request 参数。您的代码应如下所示:

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

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

【讨论】:

谢谢,有时候很简单。

以上是关于Django注册:由于缺少参数,注册失败后重定向的主要内容,如果未能解决你的问题,请参考以下文章

在 React 中登录/注册后重定向到邀请链接

成功登录后重定向或在下一个身份验证中注册凭据类型

Woo-Commerce:注册后重定向到购物车页面[重复]

表单提交后重定向

facebook使用django app成功登录后重定向url

注册表单不起作用(CSRF 令牌丢失或不正确。) django