Menu
CoddyTech

Bir Notu Paylaşma

Coddy'nin Django Journey'sinin Kullanıcılar ve Hesaplar bölümünün bir parçası. Ders 15 / 16.

Notlar özeldir ve çoğu için bu doğrudur. Bazen bir notu bir arkadaşınla paylaşmak istersin: bir tarif, bir okuma listesi. Bu ders boyunca ve sonraki derste salt okunur paylaşım ekleyeceksin.

Paylaşım, sahibinin yaptığı bir tercihtir; bu nedenle not, bunu bir BooleanField içinde True veya False olarak saklar. Sahibi aksini belirtmedikçe yeni bir not gizli kalmalıdır; bu nedenle varsayılan değeri False olur. Bir ModelForm'da BooleanField onay kutusuna dönüşür.

Burada form alanı ayarlayabilir; çünkü bu, sahibinin kendi notuyla ilgili tercihidir. owner ise farklıdır: hiçbir form onu ayarlayamaz.

challenge icon

Görev

Kolay

Notun sahibinin bir notu paylaşmasını sağla.

  1. notes/models.py dosyasında Note modeline, yeni bir not için değeri False olan bir BooleanField türünde shared alanı ekle.
  2. notes/forms.py dosyasında, sahibinin işaretleyebilmesi için bu alanı NoteForm formuna ekle.
  3. note_detail.html dosyasında, Anyone with the link can read this note. metnini yalnızca not paylaşıldığında göster.

ada kullanıcısı olarak oturum aç (coddy-pass-123 parolasıyla), bir notta Shared kutusunu işaretleyip kaydet: notun sayfasında Anyone with the link can read this note. yazar.

Kendin dene

from django.conf import settings
from django.db import models


class Note(models.Model):
    owner = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name="notes")
    title = models.CharField(max_length=100)
    body = models.TextField(blank=True)
    created = models.DateTimeField(auto_now_add=True)

    class Meta:
        ordering = ["-created"]

    def __str__(self):
        return self.title

Kullanıcılar ve Hesaplar bölümündeki tüm dersler

Kendi başına pratik yap: Django playground