(Ora che Django 1.1 è in stato di rilascio, potrebbe essere un buon momento per chiedere questo.)Commenti autentificati in Django 1.1?
Sono stato bruciante ovunque per modi di estendere l'app commenti di Django per supportare commenti autenticati. Dopo aver letto alcune volte il modello dei commenti, ho rilevato che esiste già ForeignKey
su User
.
Da django.contrib.comments.models
:
class Comment(BaseCommentAbstractModel):
"""
A user comment about some object.
"""
# Who posted this comment? If ``user`` is set then it was an authenticated
# user; otherwise at least user_name should have been set and the comment
# was posted by a non-authenticated user.
user = models.ForeignKey(User, verbose_name=_('user'),
blank=True, null=True, related_name="%(class)s_comments")
user_name = models.CharField(_("user's name"), max_length=50, blank=True)
user_email = models.EmailField(_("user's email address"), blank=True)
user_url = models.URLField(_("user's URL"), blank=True)
io non riesco a ottenere la mia testa intorno impostazione user
. Se uso commenti così come sono, anche se sono autenticato, sembra che richieda gli altri campi. Immagino che dovrei scavalcare il modulo e farlo lì? Inoltre, se utilizzo user
, dovrei ignorare il fatto che user_name
, user_email
e user_url
saranno vuoti e semplicemente estrarre tali informazioni da un modello di profilo correlato, corretto?
Mentre le risposte potrebbero essere piuttosto banali, alla fine, sono solo sorpreso che non sia stato scritto o addirittura parlato.
Inizialmente ho votato questa risposta, ma dopo aver lavorato con la soluzione di Theju per un po ', l'ho trovato limitante. Ora preferisco compilare il modulo manualmente, inserendo tutti i campi che Django si aspetta (per quanto segue). – shacker