0

我开发了一个具有各自访问登录名的应用程序,当用户尝试登录时,他必须选择一个将在整个应用程序执行过程中使用的值,直到用户关闭会话。我的项目配置了环境变量,我使用 django-environ 0.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'
4

1 回答 1

0

似乎您想使用会话。

我的应用程序要求用户在登录后从表单选择中选择一个客户端,因为每个页面都用于查看/操作客户端数据。

例子:

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'))
于 2022-02-01T03:33:22.877 回答