У меня есть проект Django, который реализует основные функции и панель администратора (не Django, а пользовательский как приложение). Поскольку моя цель - получить к ним доступ из двух отдельных доменов (api.example.com и panel.example.com), я разделил настройки следующим образом:
settings.py
settings_core.py
settings_panel.py
В нижней части файла settings.py я определяю, какой конкретный параметр загрузить для чтения переменной среды:
PROJECT_DOMAIN = os.environ.get('PROJECT_DOMAIN')
if PROJECT_DOMAIN == 'core':
from settings_core import *
elif PROJECT_DOMAIN == 'panel':
from settings_panel import *
Это работает. Каждый конкретный файл настроек находится внутри определения urlconf:
ROOT_URLCONF = 'myproject.urls_core'
Теперь проблема в PyCharm: проверка URL-адресов в функции reverse и в теге шаблона URL-адреса предлагает URL-адреса только из core_urls, а не из panel_urls.
Почему? Кто-нибудь предлагает? Спасибо
UPDATE
Я заметил, что проверка распознает URL-адреса из первого импорта (внизу settings.py), даже если env var не установлен! Я доказал, что инвертируя заявления. Weird! Почему это поведение?