Я создал Google Maps наложения (v 3.10) в JavaScript для отображения изображения, сгенерированного на сервере:Google Maps Ground Overlay не кэширует Джанго служил динамическое изображение
var overlay = new google.maps.GroundOverlay(url, MAP_BOUNDS, {map: gmap});
Когда URL-адрес указывает на статический url, наложение работает отлично. Однако, когда он указывает на динамический URL-адрес Django (v 1.4), изображение dispalys правильно, но он продолжает делать запрос сервера на url при прокрутке карты. Например:
url = 'localhost:8000/abcdef/maps/getMap'
В Django urls.py:
url(r'^(?P<key>\S+)/maps/getMap/$', 'maps.views.getMap'),
URL-адрес перенаправляет этот код:
@csrf_exempt
def getMap(request, key):
response = HttpResponse(mimetype="image/png")
im=Image.open('media/maps' + id + '/map.png')
im.save(response, 'PNG')
return response
Так, мне кажется, есть какая-то разница в том, google maps/браузер обрабатывает изображение для целей кэширования, возможно, связано с чем-то в заголовке HTTP. Как я могу сделать это, чтобы он не выполнял запросы сервера после получения изображения?
Из проверки заголовков ответов в консоли браузера кажется, что статическое изображение имеет поля «Content-Length» и «Last-Modified», которые нет в динамическом изображении. Не уверен, что это актуально.
Благодарен за любую помощь.