在javascript中更新Django会话变量?

时间:2011-01-04 16:59:07

标签: javascript django session

我想在Javascript事件之后更新Django会话变量(实际上是jQuery)。

我是否需要通过POST请求执行此操作?

或者Javascript和Django可以以一种聪明的方式共享会话变量,在这种情况下我可以直接从jQuery更新会话变量吗?我对细节有点朦胧。

谢谢!

1 个答案:

答案 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);
});