**我在退出时发生了错误,然后根据此错误最大递归深度exceeded...........................................................................................................**
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")发布于 2020-06-02 23:33:22
看看你注销函数的第一行..。
def logout(request):
logout(request)
.....所有这一切都是打电话给自己,没有办法停止。
我假设对logout的调用是为了调用django.contrib.auth.logout,因此在模块顶部有这样的内容:
from django.contrib.auth import logout但问题是当你做了
def logout(request)
....它定义了一个新的logout名称,并替换了您导入的内容。
你有两个解决方案:
invoked
logout(request)函数,但这将意味着更改您的url.py,因此新函数是将导入到其他东西(使用别名),以便导入的logout名称不会过度使用如果选择选项2,您的代码将变成:
from django.contrib.auth import logout as dca_logout
....
def logout(request):
dca_logout(request)
....为django.contrib.auth.login使用不同的名称将确保您的注销函数不会使您导入的名称。
https://stackoverflow.com/questions/62162859
复制相似问题