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 not 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, sahibin yaptığı ve notta saklanan bir seçim olarak başlar: BooleanField, doğru ya da yanlış. Sahibi aksini belirtmedikçe yeni bir not özel kalmalıdır, bu yüzden varsayılanı False olur. Bir ModelForm içinde BooleanField onay kutusuna dönüşür.

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

challenge icon

Görev

Kolay
  • Note öğesine, yeni bir not için False olan bir BooleanField türünde shared alanı ekleyin.
  • Notu yazarken veya düzenlerken sahibi, not formunda bu alanı işaretleyebilir.
  • Paylaşılan bir notun sayfasında Anyone with the link can read this note. gösterilir.

Run düğmesine basın, ada olarak giriş yapın (parola coddy-pass-123), bir notu düzenleyin ve shared alanını işaretleyin.

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