Как я могу задать значение переменной окружения Django из самого приложения?
Я разработал приложение с соответствующим логином доступа, когда пользователь пытается войти в систему, он должен выбрать значение, которое будет использоваться на протяжении всего выполнения приложения, пока пользователь не закроет сессию. В моем проекте настроены переменные окружения, я использую библиотеку django-environ 0.8.1 для настройки этих переменных, чтобы мое приложение могло получить к ним доступ в файле .env. Как я могу управлять переменной login с помощью этих переменных окружения?
import environ
# environ init
env = environ.Env()
environ.Env.read_env()
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = env.str('SECRET_KEY')
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = env.bool('DEBUG', default = False)
# This is the variable that I need to change according to the option
# that the user chooses when logging in
DATABASE_SAP_CHOSEN = 'SBOJOZF'
Похоже, что вы хотите использовать сессии.
Мое приложение требует, чтобы пользователь выбирал клиента из формы выбора после входа в систему, поскольку каждая страница используется для просмотра/манипулирования данными клиента.
Пример:
def post(self, request):
if request.method == 'POST':
request.session['client_id'] = client.objects.get(pk=request.POST['client_id'])
return redirect(self.request.path)
Затем, когда я хочу вызвать его в другом представлении:
def get(self, request):
selected_client = request.session.get('client_id')
if selected_client == None:
redirct(reverzelazy('client_selector'))