2011-09-09 58 views
1

我在使用Django Web服务器测试项目时遇到了logout()问题。这是我的注销视图:Django注销()崩溃Python

def logout(request): 
    logout(request) 
    return render_to_response('main.html', {}) 

当我访问/注销(它调用此视图)时,我得到一个弹出窗口,说Python崩溃。它不会在控制台中给我任何跟踪。

回答

10

你有一个递归的小问题。 logout正在调用自己,等等,直到你得到堆栈溢出。

当您导入视图或Django logout函数时,请将其导入。

+0

使用'进口......为......'的语法来做到这一点。 –

+2

不错的单词播放虽然:“..直到你得到一个堆栈溢出...”。 :) –

+0

哇,我什至没有看到。谢谢! –

2

答案上面说,这一切,但我发现它有助于用某种独特的前缀,所以你知道它是从哪里来重命名外部函数,因为这个前缀,它永远不会与自己的函数冲突。例如,如果你使用Django的注销功能时,你会是这样的:

from django.contrib.auth import logout as auth_logout 

def logout(request): 
    auth_logout(request) 
    return render_to_response('main.html', {}) 
+0

我这样做了,谢谢。 –