Menu
CoddyTech

ノートを共有する

CoddyのDjangoジャーニー「ユーザーとアカウント」セクションの一部。レッスン 15/16。

メモは非公開であり、そのほとんどはそれでよいでしょう。ときには、レシピや読書リストなどを友人に見せたいこともあります。このレッスンと次のレッスンでは、読み取り専用の共有機能を追加します。

共有は、所有者が選択し、メモに保存する設定から始まります。これはBooleanFieldで、trueかfalseのいずれかです。所有者が別の設定を選ばない限り、新しいメモは非公開のままである必要があるため、既定値は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プレイグラウンド