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注册:由于缺少参数,注册失败后重定向的主要内容,如果未能解决你的问题,请参考以下文章