Menu
CoddyTech

노트 공유하기

Coddy Django 여정의 사용자와 계정 섹션에 포함된 레슨. 16개 중 15번째.

메모는 비공개이며, 대부분의 메모는 비공개인 것이 맞습니다. 가끔은 레시피나 읽기 목록처럼 친구에게 하나를 보여 주고 싶을 때가 있습니다. 이번 강의와 다음 강의에 걸쳐 읽기 전용 공유 기능을 추가합니다.

공유는 소유자가 선택하는 것으로 시작하며, 메모에 저장됩니다. 즉, BooleanField이며 참 또는 거짓입니다. 소유자가 다르게 지정하지 않는 한 새 메모는 비공개로 유지되어야 하므로 기본값은 False입니다. ModelForm에서 BooleanField는 체크박스가 됩니다.

여기서는 소유자가 자신의 메모에 대해 선택하는 것이므로 폼에서 이 필드를 설정할 수 있습니다. owner는 다릅니다. 어떤 폼에서도 이 값을 설정할 수 없습니다.

challenge icon

챌린지

쉬움
  • Note에 shared 필드를 추가하세요. 새 노트에서는 False인 BooleanField입니다.
  • 소유자는 노트를 작성하거나 수정할 때 노트 양식에서 이 항목을 선택할 수 있습니다.
  • 공유된 노트 페이지에는 Anyone with the link can read this note.가 표시됩니다.

실행을 누르고 ada(비밀번호 coddy-pass-123)로 로그인한 다음, 노트를 수정하고 공유를 선택하세요.

직접 해보기

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

사용자와 계정의 모든 레슨

직접 연습해 보세요: Django 플레이그라운드