Django CORS - localhost с любым портом
Столкнулся с проблемой CORS в моем приложении Django.
Я настроил его правильно и свел проблему к моему списку URLS - настройки CORS_ORIGIN_ALLOW_ALL = True
устраняют ее.
Вот мой текущий список:
CORS_ALLOWED_ORIGINS = [
"http://localhost",
...
]
Моим фронт-эндом является приложение Flutter, проблема в том, что при разработке Flutter запускается на любом произвольном порту, например, localhost:12345, поэтому я не могу жестко указать это в списке CORS.
Мой вопрос заключается в следующем - как я могу добавить localhost с любым произвольным портом в список? Я не могу найти документацию по этому вопросу, единственной альтернативой кажется просто разрешить все, чего я бы предпочел не делать.
Заранее спасибо!
Я действительно понял, как решить это сразу после публикации.
Пакет django-cors-headers также поддерживает regex-сопоставление. В итоге я использовал следующее:
CORS_ALLOWED_ORIGIN_REGEXES = [
# match localhost with any port
r"^http:\/\/localhost:*([0-9]+)?$",
r"^https:\/\/localhost:*([0-9]+)?$",
]
Это будет соответствовать "https://localhost:" и "http://localhost:".
Надеюсь, это кому-нибудь поможет!