我需要做的只是在渲染之前替换模型中的一些项。所以每一个 business.address 用“,”替换“| |”。我想这样做:
business.address
def category(request, q): businesses = Business.objects.filter(category_string__icontains=q)[:50] for b in businesses: if '||' in b.address: b.address.replace('||', ', ') print(b.address)
但我还是看到了同样的线,没有更换。原因是什么?
字符串在Python中是不可变的;因此, str.replace 不是 .
str.replace
您需要(再次)进行名称绑定:
b.address = b.address.replace('||', ', ')