Как решить проблему с CORS политикой django

Я пытаюсь создать модуль с OpenStreetMaps на моем сайте, но когда я пытаюсь использовать его, я получаю некоторые ошибки:

Access to image at 'https://c.tile.openstreetmap.org/3/6/5.png' (redirected from 'http://c.tile.openstreetmap.org/3/6/5.png') from origin 'http://127.0.0.1:8000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Я пробовал некоторые методы из Интернета, но все еще нет результатов. Можете ли вы увидеть какую-нибудь ошибку в коде? В скрипте сайта карта загружается, но изображение карты имеет ошибку. Я пробовал добавить промежуточное ПО corsheader, но проблема все еще существует. Я не знаю, что еще сделать, чтобы решить эту проблему. Все в порядке, но с изображениями проблемы.

Файл настроек

html файл карты

{% extends 'gosgucompl/base.html' %}
{% block content %}

<div id="SGUGOMAP" style="height: 100%; width:100%; z-index: -2;"></div>

{% endblock %}

{% block scripts %}

    map = new OpenLayers.Map("SGUGOMAP",{zoomDuration: 1,projection: 'EPSG:4326',controls: []});
    map.addControl(new OpenLayers.Control.Navigation());
    map.addControl(new OpenLayers.Control.ArgParser());
    map.addControl(new OpenLayers.Control.Attribution());
    map.addLayer(new OpenLayers.Layer.OSM());
    map.zoomToMaxExtent();
    
    var pos = new OpenLayers.LonLat(50.323795, 18.927316);
    var markers = new OpenLayers.Layer.Markers("TEST");
    map.addLayer(markers);
    markers.addMarker(new OpenLayers.Marker(pos));

{% endblock %}

Как говорит Абдул Азиз Баркат, это проблема не django, а OSM: ресурс, который вы пытаетесь загрузить (например, http://c.tile.openstreetmap.org/3/6/5.png), не имеет соответствующих заголовков.

У меня была такая же проблема, и в итоге я использовал модель по умолчанию GeoModelAdmin, которая использует OpenLayers.

PS: В django 4.0 OSMGeoAdmin устарел в пользу GISModelAdmin:

class OSMGeoAdmin: Подкласс GeoModelAdmin, который использует проекцию Сферического Меркатора с плитками уличных данных OpenStreetMap. Утратил актуальность с версии 4.0: Этот класс устарел. Вместо него используйте GISModelAdmin.

.
Вернуться на верх