Aar*_*uyn 5 django session-state
我最近编写了依赖于Session对象的购物车代码.这似乎是为匿名用户存储数据的合理方式.
在进行大量测试时,我遇到了一个恼人的问题 - 当用户在结帐过程中部分登录时(或者只是在浏览其他产品时),Django会发出新的session_key,但我无法访问会话数据.
有没有办法保留旧的会话数据?或者我的设计方法是错误的?
尝试编写您自己的 SessionBackend,继承现有的 SessionBackend 并重写该cycle_key方法。
1 在您的settings.py:
SESSION_ENGINE = 'my_app.session_backend'
Run Code Online (Sandbox Code Playgroud)
2 my_app.session_backend.py:
from django.contrib.sessions.backends.db import SessionStore as DbSessionStore
class SessionStore(DbSessionStore):
def cycle_key(self):
pass
Run Code Online (Sandbox Code Playgroud)
cycle_key身份验证后正在视图中调用login。
现在让我看看是否有效;)
| 归档时间: |
|
| 查看次数: |
3087 次 |
| 最近记录: |