2017-01-25 4 views
1

Я сейчас что-то развиваю и сталкиваюсь с проблемами Django CORS. Я попробовал this, чтобы попытаться решить эту проблему, но мне кажется, что мне не повезло, когда я хочу включить в нее белый список. Я постоянно получаю заголовок «Нет» Access-Control-Allow-Origin », присутствующий на запросил ресурс ». когда я пытаюсь выполнить запрос GET в базу данных.Django CORS issues

В частности, я разрабатываю угловое веб-приложение, размещенное в другом домене (AWS S3), а Django db находится на AWS EC2. Белый список работает локально, когда я использую белый список localhost: 3000, например, но, похоже, не работает, когда я переадресовываю s3-домен. Он работает, если я устанавливаю Django, чтобы разрешить все, но я не хочу делать это в целях безопасности. В настоящее время я пытаюсь добавить некоторые регулярные выражения в домен, чтобы разрешить различные маршруты, доступные на веб-сайте, но это все еще не объясняет, почему localhost: 3000 работал, когда это больше localhost: 3000/#/page/page2.

Мой Javascript код выглядит следующим образом:

$http({ 
    url: "api/url", 
    method: 'GET', 
    withCredentials: true, 
    headers: { 
     'Accept': 'application/json', 
     'Content-Type': 'application/x-www-form-urlencoded', 
     'Authorization': 'accesstoken' 
    } 
    }).then((response) => { 
    $scope.response = response; 
    }, (data) => { 
    $scope.response = data; 
    }) 

Позвольте мне знать, если вам нужна дополнительная информация.

ответ

0

Видимо, белый список регулярных выражений работает. Следуя документации на заголовках django cors, просто добавьте регулярное выражение для своего домена, и оно будет работать для любых маршрутов, к которым вы пытаетесь получить доступ к dzhango db. Не уверен, почему localhost работал, но этого не делал, и не добавлял маршрут конкретно как белый список, но я не жалуюсь.