Quién está visitando
Parte de la sección Usuarios y cuentas del Journey de Django de Coddy. Lección 1 de 16.
Cualquiera que abra esta aplicación de notas ve todas las notas. Para que cada persona tenga sus propias notas, el sitio primero tiene que saber quién lo visita.
La aplicación django.contrib.auth de Django almacena las cuentas en su modelo User: un nombre de usuario, una contraseña cifrada y un correo electrónico. Cuando alguien inicia sesión, Django lo recuerda mediante una sesión: una cookie, un pequeño valor que el navegador envía con cada solicitud y que apunta a una fila en el servidor.
En cada solicitud, Django asigna al visitante a request.user, y las plantillas lo reciben como user. Un visitante que no ha iniciado sesión es un AnonymousUser, así que comprueba is_authenticated. Una tienda muestra un anuncio solo a los visitantes:
{% if not user.is_authenticated %}
<p class="banner">Make an account to save your cart.</p>
{% endif %}Desafío
FácilEn base.html, dentro de <div class="account">:
- Un usuario que haya iniciado sesión verá
Signed in asy su nombre de usuario, como enSigned in as ada. - Los demás verán
You are not signed in.
Pulsa Ejecutar y abre /. Después, inicia sesión en /admin/ como ada (contraseña coddy-pass-123) y vuelve a abrir /.
Pruébalo tú mismo
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>{% block title %}Notes{% endblock %}</title>
<link rel="stylesheet" href="{% static 'notes/style.css' %}">
</head>
<body>
<header>
<a class="brand" href="{% url 'notes:list' %}">Notes</a>
<nav>
<a href="{% url 'notes:create' %}">New note</a>
</nav>
<div class="account">
</div>
</header>
<main>
{% block content %}{% endblock %}
</main>
</body>
</html>
Todas las lecciones de Usuarios y cuentas
1Quién está visitando
Quién está visitandoIniciar sesiónPractica por tu cuenta: Playground de Django