我有一个自定义会话类,用于扩展 Django SessionBase。我这样做是为了重用遗留的 Session 表,以便会话可以在我们的 Django 页面和 PHP 页面之间传递,而无需用户登录和退出。
到目前为止,一切都运行良好,但只有一个巨大的 BUT。
为了让 SessionStore.start() 函数可以访问请求对象,我编写了一些自定义中间件。不幸的是,为了做到这一点,我使用了这个答案:从 backend.get_user 访问 request.session以解决我的问题。
我了解到,使用上述答案(基本上将请求对象绑定到设置,因此您可以使用 import settings* 然后 settings.request 访问)是完全可怕的,也是最糟糕的方法。
我的核心问题是我不明白如何从我编写的自定义会话后端访问请求。