Как я могу требовать входа администратора на сайт Django, только если установлена определенная переменная среды?
У меня есть две среды AWS Elastic Beanstalk, обслуживающие контент с использованием одного веб-сервера Django. Одним из них является промежуточный сайт (т.е. для целей разработки / тестирования), а одним из них является производственный сайт. На промежуточном сайте функции, которые обычно требуют оплаты, бесплатны для упрощения тестирования и разработки. Я хочу, чтобы пользователи не сталкивались с этим промежуточным сайтом и не получали бесплатный доступ к функциям, которые обычно требуют оплаты.
Чтобы предотвратить это, я хотел бы потребовать, чтобы сотрудники авторизовались для всех просмотров, но только на промежуточном сайте. У меня есть переменная среды, которая проверяется в settings.py
который определяет, работает ли сервер в промежуточной или производственной среде. Есть ли какой-нибудь элегантный / чистый способ сделать это путем проверки этой переменной среды?
2 ответа
Я бы добавил Middleware, который проверяет это условие, в переменную настроек MIDDLEWARE, если переменная окружения говорит, что вы готовитесь.
Полегче, братан! Просто используйте условия в вашем urls.py
файл
from django.conf import settings
urlpatterns = [ YOU REGULAR URLS HERE ]
if settings.SPECIFIC_VALUE:
urlpatterns = [
ADDITIONAL URLS WHICH WILL BE AVAILABLE IF SPECIFIC VALUE IS ON
] + urlpatterns