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.
Görev
KolayNotun sahibinin bir notu paylaşmasını sağla.
notes/models.pydosyasındaNotemodeline, yeni bir not için değeriFalseolan birBooleanFieldtüründesharedalanı ekle.notes/forms.pydosyasında, sahibinin işaretleyebilmesi için bu alanıNoteFormformuna ekle.note_detail.htmldosyası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