登录后重定向错误

时间:2016-08-25 22:34:13

标签: python django django-views

我正在尝试在注册后将用户重定向到创建配置文件表单。因为我不知道如何使用动态URL进行LOGIN_REDIRECT_URL。我尝试将这个小技巧链接到静态视图然后最终到动态视图使用redirect。它会给出错误Reverse for 'add_profile' with arguments '()' and keyword arguments '{'username': u'badguy'}' not found. 0 pattern(s) tried: []('badguy'确实是刚注册用户的用户名')。从错误中,它显然是将用户名传递给视图。我的代码是:

settings.py
LOGIN_REDIRECT_URL = '/prof-change/gdyu734648dgey83y37gyyeyu8g/'

urls.py
 url(r'^prof-change/gdyu734648dgey83y37gyyeyu8g/',views.login_redir,name='login_redir'),
 url(r'^create-profile/(?P<username>\w+)/$',views.add_profile,name='create-profile'),

views.py
def login_redir(request):
    user=get_object_or_404(User,username=request.user.username)
    username=user.username
    return redirect('add_profile',username=username)

def add_profile(request,username):
    userman=User.objects.get(username=username)
    ........
    ........

1 个答案:

答案 0 :(得分:0)

当您撤消网址时(包括使用带有redirect快捷方式的网址名称时),您应该使用网址格式的名称,而不是视图。网址格式为name='create-profile',因此请使用它。

redirect('create-profile', username=username)
相关问题