我想在Javascript事件之后更新Django会话变量(实际上是jQuery)。
我是否需要通过POST请求执行此操作?
或者Javascript和Django可以以一种聪明的方式共享会话变量,在这种情况下我可以直接从jQuery更新会话变量吗?我对细节有点朦胧。
谢谢!
答案 0 :(得分:21)
您可以通过Ajax执行此操作。你需要一个简单的Django视图来更新会话变量,jQuery将调用它:
def update_session(request):
if not request.is_ajax() or not request.method=='POST':
return HttpResponseNotAllowed(['POST'])
request.session['mykey'] = 'myvalue'
return HttpResponse('ok')
和JS:
$.post('/update_session/', function(data) {
alert(data);
});