尝试注销Django时出现运行时错误 [英] Runtime error when trying to logout django

查看:51
本文介绍了尝试注销Django时出现运行时错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试从django项目中注销时,出现以下错误:

When I try to logout from my django project, I get the following error:

调用Python对象时超出了最大递归深度"

"maximum recursion depth exceeded while calling a Python object"

这是注销按钮的网址:

url(r'^logout', 'users.views.logout', name='logout'),

这是视图:

from django.shortcuts import render
from deck1.models import Card
from django.template import RequestContext 
from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect, HttpResponse
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth import login, authenticate, logout
from django.contrib.auth.decorators import login_required
from users.forms import RegisterForm

@login_required
def logout(request):
    logout(request)
    return  HttpResponseRedirect('/deck')

推荐答案

您的视图logout覆盖了内置logout函数的名称空间.使用as关键字为django.contrib.auth.login函数定义别名.

Your view logout is overriding the namespace of built-in logout function. Define an alias for django.contrib.auth.login function using as keyword.

from django.contrib.auth import logout as django_logout

@login_required
def logout(request):
    django_logout(request)
    return  HttpResponseRedirect('/deck')

这篇关于尝试注销Django时出现运行时错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆