我有两个Django API。我正在其中一个API中设置会话变量,并尝试在另一个API中检索相同的会话变量数据。但是,问题是只能在设置了会话变量的API中读取会话变量数据。
例如:
@api_view(['GET'])
def api_one(request):
request.session['d'] = 'data_value'
request.session.modified = True
@api_view(['GET'])
def api_two(request):
print(request.session['d'])
# The above statement returns KeyError stating that key ['d'] doesn't
# exists
因此,在上面的示例中,我将api_one中的request.session ['d']设置为'data_value',并尝试在api_two中检索request.session ['d']的值。但是,这不起作用,因为当我尝试检索request.session ['d']
时出现“ KeyError”以下是我在settings.py中的配置:
SESSION_COOKIE_HTTPONLY = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_AGE = 86400
SESSION_SAVE_EVERY_REQUEST = True
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
我可以清楚地注意到Django在数据库方面正在做的事情,因为按预期在django_session表中创建了新的会话条目。
因此,我想知道是否可以在一个API中设置会话变量,并在其他API中使用它们。
谢谢前进。