2010-04-02 17 views

Répondre

4

Une façon de le faire serait d'écrire votre propre formulaire de commentaires qui hérite de la django.contrib.comments.forms.CommentForm et réécrire sa fonction get_comment_create_data. AVERTISSEMENT: Ce code n'a pas été testé.

from django.contrib.comments.forms import CommentForm 

class MyCommentForm(CommentForm): 
    def get_comment_create_data(self): 
     data = super(MyCommentForm, self).get_comment_create_data() 
     data['is_public'] = False 
     return data 

Vous pouvez ensuite accrocher ce formulaire dans les systèmes de commentaires comme décrit dans cette section http://docs.djangoproject.com/en/dev/ref/contrib/comments/custom/

+0

J'ai utilisé ce code pour faire quelque chose de similaire; ça a marché. Un nitpick, dict n'est pas un nom optimal pour une variable car il remplace le builtin. J'ai utilisé des données à la place. –

+0

Oui c'est un bon point. Je vais faire l'édition. –

3

Installation d'un modérateur de commentaire et set « auto_moderate_field » à un DateField ou DateTimeField sur le modèle et « moderate_after » pour 0.

class ArticleModerator(CommentModerator): 
    email_notification = True 
    enable_field = 'enable_comments' 
    auto_moderate_field = 'pub_date' 
    moderate_after = 0 

moderator.register(Article, ArticleModerator) 

Plus d'informations dans la documentation: https://docs.djangoproject.com/en/dev/ref/contrib/comments/moderation/#built-in-moderation-options

Questions connexes