Menu
CoddyTech

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 %}
challenge icon

Aufgabe

Einfach

In base.html, innerhalb von <div class="account">:

  • Ein angemeldeter Benutzer sieht Signed in as und seinen Benutzernamen, zum Beispiel Signed 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