在Django中渲染模板之前修改数据

时间:2018-08-13 12:47:45

标签: python django

我要做的只是在渲染之前替换模型中的某些项目。因此,只需在每个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)

但是我仍然看到相同的字符串而没有替换。是什么原因?

1 个答案:

答案 0 :(得分:1)

字符串在Python中是不可变的;因此,str.replace不是就地。

您需要再次进行名称绑定:

b.address = b.address.replace('||', ', ')