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.
Sfida
Facile- Aggiungi un campo
sharedaNote: unBooleanFieldche valeFalseper 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