Мне нужно хранить специальные куки-файлы, которые приходят из не-django-приложений.Я могу сделать это в представлениях
request.session[special_cookies'] = special_cookies
Но в файлах py, не относящихся к представлениям, мне нужно получить доступ к этим специальным файлам cookie.сделать это
>>> 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 туда и обратно на протяжении всего сеанса просмотра.
Как мне решить эту проблему?
Большое спасибо!
#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.Я хочу, чтобы это продолжалось повсюду.Или я переосмысливаю ..?