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.
Görev
KolayNoteöğesine, yeni bir not içinFalseolan birBooleanFieldtüründesharedalanı 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