【问题标题】:Django Url not redirecting correctly on user creationDjango Url 在用户创建时未正确重定向
【发布时间】:2015-01-28 22:30:14
【问题描述】:

我有一个用户注册和登录模板设置为将信息发送到同一视图(详细信息)。他们以前都工作正常,但是现在用户创建的重定向不再转到正确的 URL (http://127.0.0.1:8000/accounts/login/?next=/accounts/21/),由于某种原因,正在添加 URL 的“accounts/login?next=”部分,我无法理解它来自哪里,因为它以前不存在。

我正在使用要塞,这使得每个视图都需要 login_required,除非在其上方有 @public 另有说明。

我发现一些关于 LOGIN_URL 的帖子需要在 setting.py 或 next 键中设置。然而,这之前工作正常,所以我认为这不是问题。如果您需要发布更多代码,请告诉我,我会发布。

谢谢,

-我要走的路线是

url(r'^accounts/(?P<user_id>\d+)/$', views.detail, name='detail')

-我的注册视图如下

@public
def register(request):
    if request.method == 'POST':
        form = EmailUserCreationForm(request.POST)

        if form.is_valid():
            new_user = form.save()
            playthrough = PlayThrough(user_id=new_user.id)
            playthrough.save()                
            request.session['user_id'] = new_user.id

            return HttpResponseRedirect('/accounts/{}/'.format(new_user.id))
    else:
        form = EmailUserCreationForm()

    return render(request, 'dep_server/register.html', {
        'form': form,
    }) 

-这是应该呈现用户信息的视图

def detail(request, user_id): 
    if request.session['user_id'] == int(user_id):
        user = EmailUser.objects.get(id=user_id)
        module_list = ModuleRef.objects.all()
        return render(request, 'dep_server/detail.html', {
            'user': user,
            'module_list': module_list
            })
    else:

        return HttpResponseRedirect('/accounts/auth/')

【问题讨论】:

    标签: python django url


    【解决方案1】:

    我发现了问题,我没有在创建时登录用户。这就是登录有效而注册无效的原因。下面是我添加到寄存器视图中的代码,它可以正常工作。

    user = authenticate(
                    email = form.cleaned_data['email'],
                    password = form.cleaned_data['password2']                
                    )
                login(request, user)
    

    【讨论】:

      猜你喜欢
      • 2020-09-18
      • 1970-01-01
      • 2013-10-08
      • 2015-02-24
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多