我需要存储来自某些非Django应用程序的特殊cookie。我可以在视图中执行此操作在Django的视图之外访问会话/请求信息
request.session[special_cookies'] = special_cookies
但是在非视图py文件中,我需要访问此特殊cookie。
据docs,我能做到这一点
>>> from django.contrib.sessions.backends.db import SessionStore
>>> import datetime
>>> s = SessionStore(session_key='2b1189a188b44ad18c35e113ac6ceead')
>>> s['last_login'] = datetime.datetime(2005, 8, 20, 13, 35, 10)
>>> s['last_login']
datetime.datetime(2005, 8, 20, 13, 35, 0)
>>> s.save()
如果我不提供会话密钥,Django会生成一个给我。 我很担心获得许多新的会话密钥的效果。 (当你有多个用户时,我不认为这是好事,对吧?)
我想要一个用户把这个特殊的cookie绑定到一个用户的会话。 但是,我不想保存在用户配置文件中,因为出于安全原因。这个cookie在我们登录时生成(我们的应用程序将发送这个特殊的cookie)。我们希望在整个浏览会话中来回发送此Cookie。
我应该如何解决这个问题?
非常感谢!
#views.py
request.session['special_cookies'] = library.get_special(user, pwd)
#library.py
def get_special_cookies(user, pwd):
res = get_special_cookies("http://foobar.com/api/get_special_cookies", user, pwd)
#foobar.py (also non-views)
def do_this(user, special_cookies)
我敢肯定,这是好的....
#views_2.py
def dummy_views(request):
foobar.do_this(request.user, request.session['special_cookies'])
但也有情况,我不想通过的意见,让我的特殊饼干/电话get_sepcial_cookies。我希望它贯穿始终。还是我正在过度...?
'cookies!= django会话变量' – 2012-02-09 23:28:26