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 está visitando.
La aplicación de Django django.contrib.auth guarda 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. El navegador envía de vuelta un pequeño valor, una cookie, con cada solicitud, que apunta a una fila del 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 con is_authenticated. Una tienda muestra un aviso 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">, muestra quién está visitando la página. Cuando alguien haya iniciado sesión, el cuadro muestra Signed in as y su nombre de usuario, como Signed in as ada. De lo contrario, muestra You are not signed in.
Abre /: aparece You are not signed in.. Inicia sesión en /admin/ como ada (contraseña coddy-pass-123) y luego abre /: Signed in as ada.
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