Обновить сессионную переменную Django в JavaScript? - PullRequest
11 голосов
/ 04 января 2011

Я хочу обновить переменную сеанса Django после события Javascript (ну, собственно, jQuery).

Нужно ли делать это через POST-запрос?

Или Javascript и Django могут совместно использовать переменные сеанса каким-то умным способом, и в этом случае я могу обновить переменные сеанса непосредственно из jQuery? Я немного туманный на деталях.

Спасибо!

1 Ответ

21 голосов
/ 04 января 2011

Вы можете сделать это через 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);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...