Kim Ziyaret Ediyor
Coddy'nin Django Journey'sinin Kullanıcılar ve Hesaplar bölümünün bir parçası. Ders 1 / 16.
Bu not uygulamasını açan herkes tüm notları görür. Her kişinin kendi notlarını görmesini sağlamak için site önce kimin ziyaret ettiğini bilmelidir.
Django'nun django.contrib.auth uygulaması hesapları User modelinde saklar: bir kullanıcı adı, karma hâline getirilmiş bir parola ve bir e-posta adresi. Birisi oturum açtığında Django onu bir oturum aracılığıyla hatırlar. Tarayıcı, her istekle birlikte küçük bir değer olan çerezi geri gönderir ve bu çerez sunucudaki bir satırı işaret eder.
Django her istekte ziyaretçiyi request.user değişkenine yerleştirir ve şablonlar bu değere user olarak erişir. Oturum açmamış bir ziyaretçi AnonymousUser olur, bu nedenle is_authenticated ile kontrol et. Bir mağaza yalnızca ziyaretçilere bir banner gösterir:
{% if not user.is_authenticated %}
<p class="banner">Make an account to save your cart.</p>
{% endif %}Görev
Kolaybase.html içinde, <div class="account"> öğesinin içinde, siteyi kimin ziyaret ettiğini göster. Birisi oturum açtığında kutuda Signed in as ve kullanıcı adı, örneğin Signed in as ada gösterilir. Aksi takdirde You are not signed in. gösterilir.
/ adresini aç: You are not signed in. yazar. /admin/ adresinde ada olarak oturum aç (parola coddy-pass-123), ardından / adresini aç: Signed in as ada.
Kendin dene
{% 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>
Kullanıcılar ve Hesaplar bölümündeki tüm dersler
Kendi başına pratik yap: Django playground