Как я могу требовать входа администратора на сайт Django, только если установлена ​​определенная переменная окружения? - PullRequest
0 голосов
/ 27 июня 2018

У меня есть две среды AWS Elastic Beanstalk, обслуживающие контент с использованием одного веб-сервера Django. Одним из них является промежуточный сайт (т.е. для целей разработки / тестирования), а одним из них является производственный веб-сайт. На промежуточном сайте функции, которые обычно требуют оплаты, бесплатны для упрощения тестирования и разработки. Я хочу, чтобы пользователи не сталкивались с этим промежуточным сайтом и не получали бесплатный доступ к функциям, которые обычно требуют оплаты.

Чтобы предотвратить это, я бы хотел, чтобы сотрудники авторизовались для всех просмотров, но только на промежуточном сайте. У меня есть переменная среды, которая проверяется в settings.py, которая определяет, работает ли сервер в промежуточной или производственной среде. Есть ли какой-нибудь элегантный / чистый способ сделать это путем проверки этой переменной среды?

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Легко, peasy, братан! Просто используйте условия в вашем 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
0 голосов
/ 27 июня 2018

Я бы добавил Middleware , который проверяет это условие, в переменную настроек MIDDLEWARE, если переменная окружения говорит, что вы готовитесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...