Menu
CoddyTech

Condividere una nota

Fa parte della sezione Utenti e account del percorso Django di Coddy. Lezione 15 di 16.

Le note sono private, ed è giusto che sia così per la maggior parte di esse. A volte vuoi mostrarne una a un amico: una ricetta, una lista di letture. In questa lezione e nella prossima aggiungerai la condivisione in sola lettura.

La condivisione inizia come una scelta del proprietario, salvata nella nota: un BooleanField, vero o falso. Una nuova nota deve restare privata, a meno che il proprietario non decida diversamente, quindi il valore predefinito è False. In un ModelForm, un BooleanField diventa una casella di controllo.

Qui il modulo può impostare il campo, perché è una scelta del proprietario relativa alla sua nota. owner è diverso: nessun modulo può impostarlo.

challenge icon

Sfida

Facile
  • Aggiungi un campo shared a Note: un BooleanField che vale False per una nuova nota.
  • Il proprietario può selezionarlo nel modulo della nota quando la scrive o la modifica.
  • La pagina di una nota condivisa mostra Anyone with the link can read this note.

Premi Run, accedi come ada (password coddy-pass-123), modifica una nota e seleziona shared.

Provalo tu

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

Tutte le lezioni di Utenti e account

Esercitati da solo: Playground Django