意外错误: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", "")


以上是意外错误:replace()需要2个位置参数,但给出了3个的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>