Simplifica as coisas....
Use um middleware para expirar a sessão depois dos 10 minutos. Tudo o que vc precisa é uma entrada na sessão com a data do ultimo request (stack overflow tem uns exemplos). Normalmente se ignora requests ajaxs.
Se precisar mesmo que o usuário só tenha uma sessão logada (e pense bem nisso, pois uma única sessão ativa é um saco as vezes), ao logar, expire ou exclua todas as sessões ativas do usuário. (você vai precisar manter um cache de usuario: sessid pois o django guarda o user da sessão codificado nela)
Dessa maneira, a única sessão ativa vai ser a última máquina/browser que ele logou, mas, novamente, pense bem sobre isso. Expirar a sessão por inatividade deve ser mais que suficiente, pois mesmo se o user não 'sair', em até X minutos a sessão expira.
Se você ainda quiser avisar ao usuário sobre quanto tempo de sessão ele tem, nem precisa consultar de facto. Vc configura o tempo de inatividade para 30min, se a página carregou a 25, vc sabe que só sobra 5 minutos.
Se for o caso de paranoic mode quanto a esses 30min, diminui para tipo 2 minutos e renova com um url via ajax para não estragar a exp de usuário.
Boa sorte ;)