Escolar Documentos
Profissional Documentos
Cultura Documentos
Usuário
§ __setitem__(key, value)
request.session['fav_color'] = 'blue'
Utilizando Sessões nas Views
• Mais métodos:
§ __delitem__(key)
del request.session['fav_color']
§ get(key, default=None)
fav_color = request.session.get('fav_color', 'red')
Utilizando Sessões nas Views
• Mais métodos:
§ pop(key, default=__not_given)
fav_color = request.session.pop('fav_color', 'blue')
§ keys()
§ items()
§ setdefault()
§ clear()
§ flush()
o Remove os dados da sessão corrente, bem como o cookie da sessão
o Ex.: quando executado django.contrib.auth.logout()
Utilizando Sessões nas Views
• Mais métodos:
§ set_test_cookie()
o Define um teste se o navegador do usuário suporta cookies
o Só poderá ser verificado o resultado na próxima requisição do usuário
§ test_cookie_worked()
o Retorna True ou False com o resultado do suporte à cookies
§ delete_test_cookie()
o Desliga o teste de cookies
§ set_expiry(value)
o Define um tempo para a expiração da sessão
o O valor (inteiro) indica o tempo máximo de inatividade, em segundos
o Ex.: request.session.set_expiry(300) leva a sessão expirar em 5 minutos
o Se o valor for 0, o cookie de sessão irá expirar quando o navegador fechar
o Se o valor for None, será utilizada a política “global”
Utilizando Sessões nas Views
• Mais métodos:
§ get_expiry_age()
o Retorna o número de segundos até a sessão expirar
o Aceita dois argumentos opcionais – modification e expiry
o Modification como a última modificação na sessão, na forma de datetime
o Expiry como um objeto datetime com as informações de expiração
§ get_expiry_date()
o Retorna uma data precisa em que a sessão irá expirar
o Aceita os mesmos argumentos que get_expiry_age()
§ get_expire_at_browser_close()
o Retorna True ou False caso o cookie de sessão irá expirar quando o
navegador do usuário for fechado
Utilizando Sessões nas Views
• Mais métodos:
§ clear_expired()
o Remove os dados das sessões expiradas do armazenamento utilizado
o Método invocado pelo clearsessions, o qual é executado periodicamente
pelo framework Django
§ cycle_key()
o Cria uma nova chave de sessão, mantendo os dados da sessão atual.
o Esse método é invocado no processo de login de usuário
django.contrib.auth.login()
Serialização de Sessões
• Por padrão, o Django serializa os dados das sessões
utilizando o padrão JSON
• Documentação oficial:
https://docs.djangoproject.com/pt-
br/2.2/topics/http/sessions/