gpt4 book ai didi

django - 禁用Django中的 session 创建

转载 作者:行者123 更新时间:2023-12-03 14:02:27 24 4
gpt4 key购买 nike

我想对某些URL禁用Django中的自动 session 创建。我有/ api / *,每个点击的客户端都会获得一个新的Django session 。有没有办法忽略某些网址?

最佳答案

一个简单的解决方案是让您的Web服务器区分API调用和常规调用,然后使应用程序具有两个不同的WSGI实例:一个启用了 session ,另一个禁用了 session 。 (使用Nginx可能比使用Apache容易得多。)

一种替代方法是继承SessionMiddleware,然后编辑流程函数以忽略所有符合您条件的请求。就像是:

from django.contrib.sessions.middleware import SessionMiddleware

class MySessionMiddleware(SessionMiddleware):
def process_request(self, request):
if request.path_info[0:5] == '/api/':
return
super(MySessionMiddleware, self).process_request(request)

def process_response(self, request, response):
if request.path_info[0:5] == '/api/':
return response
return super(MySessionMiddleware, self).process_response(request, response)

然后编辑设置的文件,以使MIDDLEWARE_CLASSES包含“MySessionMiddleware”的路径,而不是“django.contrib.sessions.middleware.SessionMiddleware”的路径。

关于django - 禁用Django中的 session 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4052473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com