Chcę wysyłać maile w zadaniu cron. Wiadomość powinna zawierać link do mojej aplikacji.Jak mogę uzyskać adres URL (z protokołem i domeną) w Django (bez żądania)?
W zadaniu cron nie mam obiektu żądania i nie można użyć request.build_absolute_uri().
AFAIK w ramach serwisu może pomóc tutaj. Ale nie daje mi protokołu (http vs https)?
Moja aplikacja jest wielokrotnego użytku i czasami jest hostowana na http, a czasem na stronach https.
Aktualizacja
wyszukiwać wspólnego django sposób. Tworzenie własnych ustawień jest możliwe, ale preferowane jest rozwiązanie ze standardami django.
Powiązane problem: https://code.djangoproject.com/ticket/16734
Ile różnych domen obsługuje jedna instancja Django? –
@AlexMorozov w moim bieżącym kontekście jeden pojedynczy serwer instancji Django tylko jedna domena. Ale aplikacja jest zainstalowana na wielu różnych serwerach. Niektóre serwują przez http, a niektóre przez https. – guettli
Używam ustawień do obsługi w takim scenariuszu, szczególnie gdy nie mam obiektu żądania. Coś jak ustawienia.HOST_ADDRESS + "{0}". Format (resource_path) powinien wykonać zadanie. Powinno być możliwe wielokrotne użycie przy zmianie konfiguracji minimalnej poprzez rozszerzenie ustawień podstawowych do różnych plików ustawień używanych w konkretnej witrynie (np .: --settings = settings.site1) – rreddy