意外错误:replace()需要2个位置参数,但给出了3个
在 settings.py 我有:
BASE_DIR = Path(__file__).resolve().parent.parent
然后在某些视图中:
from django.http import HttpResponse
from django.conf import settings
def test_view(request):
return HttpResponse( settings.BASE_DIR.replace("src", "") )
这给出了错误: replace() takes 2 positional arguments but 3 were given
这让我很困惑,该错误是如何出现的?也如果这样做:
return HttpResponse( settings.BASE_DIR )
这将返回完整路径,例如: /home/full/path/to/project/src
这也有效
return HttpResponse( "/home/full/path/to/project/src".replace("src", "") )
你能帮我看看这条线有什么问题吗:
return HttpResponse( settings.BASE_DIR.replace("src", "") )
?
回答
将其转换为string:
str(settings.BASE_DIR).replace("src", "")