在django中,get如何在get和POST方法之间共享对象
伙计们在django中,get如何在get和POST方法之间共享对象,django,Django,伙计们 我在get方法中生成requests.session()对象, 我想在post方法中使用后者。 我该怎么做? # views.py import requests class Page(View): session = None def get(self,request): self.session = requests.session() # get an session object return def post(sel
我在get方法中生成requests.session()对象,
我想在post方法中使用后者。
我该怎么做?
# views.py
import requests
class Page(View):
session = None
def get(self,request):
self.session = requests.session() # get an session object
return
def post(self,request):
self.session # I want use the self.session which generate in get methon
return
我纠正了它。它在单个进程中工作,但当我创建另一个进程来处理请求时,出现了另一个问题。
用户可以访问流程A中的GET方法,但可以在流程B中输入POST方法。
这就是问题所在,我不知道怎么解决。
# views.py
import requests
d = {}
class Page(View):
session = None
def get(self,request):
self.session = requests.session() # get an session object
uniqueKey = request.session['uniqueKey']
d.update({uniqueKey:self.session})
return
def post(self,request):
# I want use the self.session which generate in get methon
self.session.post('xxx')
uniqueKey = request.session['uniqueKey']
d.pop(uniqueKey)
return
这不是你需要做的事。会话已在请求之间共享。我使用全局dict解决了它,有点粗糙,但它起了作用。如果有人有其他更好的解决方案,请告诉我,谢谢。@Daniel Roseman,也许我解释得不够清楚。实际上,请求之间的会话已共享,是的,我知道。但是由session=requests.session()创建的会话不被请求共享。对吗?
# views.py
import requests
d = {}
class Page(View):
session = None
def get(self,request):
self.session = requests.session() # get an session object
uniqueKey = request.session['uniqueKey']
d.update({uniqueKey:self.session})
return
def post(self,request):
# I want use the self.session which generate in get methon
self.session.post('xxx')
uniqueKey = request.session['uniqueKey']
d.pop(uniqueKey)
return