django de mantener el estado de sesión

En primer lugar, los restos del Estado

  1. protocolo HTTP no tiene estado: es una solicitud nueva cada vez que una solicitud no se acordará de estado antes de la comunicación

  2. una comunicación, una sesión es un estado de ejecución sosteniendo el cliente y el servidor: los datos en relación con el cliente o servidor almacena la sesión

  3. El almacenamiento incluye una cookie, sesión, la sesión se refiere generalmente al objeto de sesión

  4. El uso de cookies, todos los datos almacenados en el cliente, tenga cuidado de no almacenar información sensible

  5. Uso de realización sesison, en el lado del servidor, el cliente todos los datos almacenados en el almacén de cookies session_id

  6. La finalidad del Estado es hacer el seguimiento del estado de la solicitante durante un período de tiempo, en la actualidad solicitante se puede lograr acceso a los datos a través de la página 

  Nota: No compartir esta información entre diferentes solicitantes, correspondencia con el solicitante

  escenarios de uso: restos de estado de inicio de sesión

En segundo lugar, para permitir la sesión

  1. Configuración

    Hay dos opciones se utilizan específicamente para la sesión en el archivo settings.py, el valor predeterminado se ha activado.

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles' , 
    'común', 
]
    
MIDDLEWARE = [ 
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware' ,
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib .auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
 

  Las aplicaciones clave INSTALLED_APP registrado, después de la migración, se generará el archivo de hoja de cálculo correspondiente, la solicitud de almacenamiento de datos, django.contrib.sessions después de la migración generarán un django_session tabla de datos, que se celebra en la sesión de Django ( Quiero usar Django función de la persistencia de sesión debe tener esta hoja de datos ).

 

   2. Utilice la sesión

    Después de habilitar la sesión, cada objeto HttpRequest tendrá un atributo de sesión, que es un diccionario-como objeto

    get (clave, por defecto = None): Get valor de la clave de sesión, de acuerdo con 

    flush (): Borrar los datos de sesión actual y borra la cookie de sesión

Ejemplos del usuario que ha entrado en cuando hay :( juzgar sesión de nombre de usuario en este campo, si el usuario ha aterrizado una nota, pasa el nombre de usuario de la plantilla haciendo que la página que el usuario inicia sesión, si no, haciendo que la página que el usuario no está conectado)

def index (petición): 
    nombre de usuario = request.session.get ( "nombre de usuario", ninguno) 
    de retorno render (solicitud, 'index.html', context = { "nombre de usuario": nombre de usuario})

  1. tanto fácil de leer y escribir un diccionario-como objeto que representa la sesión actual

  2. Utilice la información request.session estableció un inicio de sesión en el inicio de sesión

  3. Obtener el valor ajustado en la página principal, y luego pasada a la plantilla

  4. request.session.flush () para borrar la salida de la sesión de datos

  3. El tiempo de caducidad de la sesión

    set_expiry (valor): Conjunto de espera de sesión

    Si no se especifica, a continuación, dos semanas después de la expiración (django defecto 15 días)

    Si el valor es un número entero, la sesión expirará en cuestión de segundos sin valores de actividad

    Si el valor es un timedelta objetos, en esta sesión se añada la fecha / hora especificada expiró en el momento actual

    Si el valor es 0, entonces la sesión de usuario cookie caducará cuando el navegador del usuario es cerrada

    Si el valor es None, la sesión nunca caduca

  4. Algunos ajustes por defecto para el tiempo de expiración de sesión

# Si se debe cerrar el navegador es la sesión ha expirado, el valor predeterminado es Falso 
SESSION_EXPIRE_AT_BROWSER_CLOSE es = false 

# Guardar sesión si cada solicitud, sólo después de la predeterminada para guardar modificado 
SESSION_SAVE_EVERY_REQUEST = False 

# Sesión de galletas fecha de caducidad, por defecto es de dos semanas 
SESSION_COOKIE_AGE = 1209600

 

 

  

  

Supongo que te gusta

Origin www.cnblogs.com/loveprogramme/p/12456643.html
Recomendado
Clasificación