Menu
CoddyTech

מי מבקר

חלק מהיחידה משתמשים וחשבונות במסלול ה-Django של Coddy. שיעור 1 מתוך 16.

כל מי שפותח את אפליקציית הפתקים הזאת רואה את כל הפתקים. כדי שלכל אדם יהיו פתקים משלו, האתר צריך קודם לדעת מי מבקר בו.

האפליקציה django.contrib.auth של Django שומרת חשבונות במודל User: שם משתמש, סיסמה מגובבת, כתובת אימייל. כשמישהו מתחבר, Django זוכר אותו באמצעות סשן. הדפדפן שולח בחזרה ערך קטן, קובץ cookie, עם כל בקשה, והוא מצביע על שורה בשרת.

בכל בקשה Django מציב את המבקר ב-request.user, והתבניות מקבלות אותו בתור user. מבקר שלא התחבר הוא AnonymousUser, לכן בודקים באמצעות is_authenticated. חנות מציגה כרזה רק למבקרים:

{% if not user.is_authenticated %}
    <p class="banner">Make an account to save your cart.</p>
{% endif %}
challenge icon

אתגר

קל

ב־base.html, בתוך <div class="account">, הצג מי מבקר. כאשר משתמש מחובר, התיבה מציגה Signed in as ואת שם המשתמש שלו, למשל Signed in as ada. אחרת היא מציגה You are not signed in.

פתח את /: מופיעה ההודעה You are not signed in.. התחבר ב־/admin/ בתור ada (סיסמה coddy-pass-123), ואז פתח את /: Signed in as ada.

נסו בעצמכם

{% 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>

כל השיעורים ביחידה משתמשים וחשבונות

תרגלו בעצמכם: Django אונליין