من الزائر؟
جزء من قسم المستخدمون والحسابات في رحلة Django على Coddy. الدرس 1 من 16.
كل من يفتح تطبيق الملاحظات هذا يرى كل الملاحظات. لكي يحصل كل شخص على ملاحظاته الخاصة، يجب أن يعرف الموقع أولًا من يزوره.
يخزّن تطبيق Django django.contrib.auth الحسابات في نموذجه User: اسم مستخدم وكلمة مرور مجزّأة وبريد إلكتروني. عندما يسجّل شخص الدخول، يتذكّره Django باستخدام جلسة. يرسل المتصفح قيمة صغيرة، وهي ملف تعريف ارتباط، مع كل طلب، وتشير هذه القيمة إلى صف على الخادم.
في كل طلب، يضع Django الزائر في request.user، وتحصل القوالب عليه باسم user. الزائر الذي لم يسجّل الدخول هو AnonymousUser، لذا تحقّق باستخدام is_authenticated. يعرض متجر لافتة للزوار فقط:
{% if not user.is_authenticated %}
<p class="banner">Make an account to save your cart.</p>
{% endif %}التحدي
سهلفي 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>
جميع دروس المستخدمون والحسابات
تدرّب بنفسك: Playground لـ Django