Wer ist zu Besuch
Teil des Abschnitts Benutzer und Konten der Django-Journey von Coddy. Lektion 1 von 16.
Jede Person, die diese Notizen-App öffnet, sieht alle Notizen. Damit jede Person ihre eigenen Notizen hat, muss die Website zuerst wissen, wer sie besucht.
Djangos App django.contrib.auth speichert Konten in ihrem Modell User: einen Benutzernamen, ein gehashtes Passwort und eine E-Mail-Adresse. Wenn sich jemand anmeldet, merkt sich Django die Person mithilfe einer Sitzung: einem Cookie, einem kleinen Wert, den der Browser mit jeder Anfrage zurücksendet und der auf einen Datensatz auf dem Server verweist.
Bei jeder Anfrage weist Django die besuchende Person request.user zu, und Vorlagen erhalten sie als user. Eine Person, die nicht angemeldet ist, ist ein AnonymousUser. Prüfe daher mit is_authenticated. Ein Shop zeigt nur Besuchern ein Banner an:
{% if not user.is_authenticated %}
<p class="banner">Make an account to save your cart.</p>
{% endif %}Aufgabe
EinfachIn base.html, innerhalb von <div class="account">:
- Ein angemeldeter Benutzer sieht
Signed in asund seinen Benutzernamen, zum BeispielSigned in as ada. - Alle anderen sehen
You are not signed in.
Drücke auf „Run“ und öffne /. Melde dich dann unter /admin/ als ada an (Passwort coddy-pass-123) und öffne erneut /.
Probier es selbst
{% 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>
Alle Lektionen in Benutzer und Konten
Übe selbstständig: Django-Playground