Как я могу требовать входа администратора на сайт 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
Другие вопросы по тегам