首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django中超过最大递归深度

在django中超过最大递归深度
EN

Stack Overflow用户
提问于 2020-06-02 23:16:21
回答 1查看 161关注 0票数 0

**我在退出时发生了错误,然后根据此错误最大递归深度exceeded...........................................................................................................**

代码语言:javascript
复制
    template.html
    RecursionError at /logout/
    maximum recursion depth exceeded
    Request Method: GET
    Request URL:    http://127.0.0.1:8000/logout/
    Django Version: 3.0.6
    Exception Type: RecursionError
    Exception Value:    
    maximum recursion depth exceeded
    Exception Location: C:\Users\Aqib\Desktop\Python Djnago\vscode projects\thumbsap\account\views.py in logout, line 213
    Python Executable:  C:\Users\Aqib\AppData\Local\Programs\Python\Python38\python.exe
    Python Version: 3.8.3
    Python Path:    
    ['C:\\Users\\Aqib\\Desktop\\Python Djnago\\vscode projects\\thumbsap',
     'C:\\Users\\Aqib\\AppData\\Local\\Programs\\Python\\Python38\\python38.zip',
     'C:\\Users\\Aqib\\AppData\\Local\\Programs\\Python\\Python38\\DLLs',
     'C:\\Users\\Aqib\\AppData\\Local\\Programs\\Python\\Python38\\lib',
     'C:\\Users\\Aqib\\AppData\\Local\\Programs\\Python\\Python38',
     'C:\\Users\\Aqib\\AppData\\Roaming\\Python\\Python38\\site-packages',
     'C:\\Users\\Aqib\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages',
     'C:\\Users\\Aqib\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages\\win32',
     'C:\\Users\\Aqib\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages\\win32\\lib',
     'C:\\Users\\Aqib\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages\\Pythonwin']
    Server time:    Wed, 3 Jun 2020 04:35:00 +0530
    Traceback Switch to copy-and-paste view
    C:\Users\Aqib\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\handlers\exception.py in inner
                response = get_response(request) …
   projects\thumbsap\account\views.py in logout
            logout(request) …

views.py


def logout(request):
        logout(request)
        messages.SUCCESS(request,"your successfully logged out")
        return render(request,'home/login.html')
        return HttpResponse("Logged Out Successfully")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-02 23:33:22

看看你注销函数的第一行..。

代码语言:javascript
复制
def logout(request):
    logout(request)
    .....

所有这一切都是打电话给自己,没有办法停止。

我假设对logout的调用是为了调用django.contrib.auth.logout,因此在模块顶部有这样的内容:

代码语言:javascript
复制
from django.contrib.auth import logout

但问题是当你做了

代码语言:javascript
复制
def logout(request)
    ....

它定义了一个新的logout名称,并替换了您导入的内容。

你有两个解决方案:

invoked

  • Change

  • 重命名您的logout(request)函数,但这将意味着更改您的url.py,因此新函数是将导入到其他东西(使用别名),以便导入的logout名称不会过度使用

如果选择选项2,您的代码将变成:

代码语言:javascript
复制
from django.contrib.auth import logout as dca_logout
     ....

def logout(request):
   dca_logout(request)
     ....

django.contrib.auth.login使用不同的名称将确保您的注销函数不会使您导入的名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62162859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档