Python / Django - 值在for循环后恢复

时间:2017-12-23 03:11:12

标签: python django

我正在尝试将照片列表的网址传递给模板。我正在将MEDIA_URL与每个照片名称联系起来。

运行print(a)时,我可以在控制台中看到成功添加了串联。结果类似于media/photo.jpg。但是,当循环结束时,结果将恢复为原始photo.jpg,就像没有发生连接一样。 print(photos)显示没有更改的照片列表。

为什么?

def get_property_data(request):
    property_id = request.GET.get('id')
    photos = ListingPhoto.objects.values_list('photo', flat=True).filter(listing__id=property_id)
    for a in photos:
        a = settings.MEDIA_URL + a
        print(a)
    print(photos)

    return JsonResponse({'property': list(photos)})

1 个答案:

答案 0 :(得分:1)

您正在输出未更改的照片。此外,您正在循环浏览 a 并一遍又一遍地更改值。

尝试这样的事情

b = []
for a in photos:
        b.append(settings.MEDIA_URL + a)
        print(a)
print(b) # b is an array of url strings