如何从应用程序本身中为Django环境变量赋值



我开发了一个具有相应访问登录名的应用程序,当用户尝试登录时,他必须选择一个值,该值将在应用程序的整个执行过程中使用,直到用户关闭会话。我的项目配置了环境变量,我使用django-environ0.8.1库来配置这些变量,这样我的应用程序就可以在.env文件中访问它们。如何使用这些环境变量管理登录变量?

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'))

最新更新