今天写Django项目的时候忘了添加用户注销功能,发现时也没觉得是个大问题,毕竟这玩意儿异常简单,谁知道还是翻了车…
from django.contrib.auth import logout
def logout(request):
logout(request)
return HttpResponseRedirect(reverse('c_63:index'))
写完之后就例行测试一下,但是出现了下面的错误 … …
RuntimeError at /logout/
maximum recursion depth exceeded
很明显自定义的的函数名 logout 和 import的logout 冲突了
解决办法:
- 就是把自定义函数更名
- 使用 as 赋予导入的 logout 函数 一个别名
from django.contrib.auth import logout as alias_name