diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2009-04-16 12:48:16 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2009-04-16 12:48:16 +0000 |
| commit | 565c190611aecf16e36b8d6a77d4c2b75fbdb6de (patch) | |
| tree | b0fb46e048e4604186acff9be11665a892e23f56 /docs/ref/contrib | |
| parent | e6d2b14e359035f2e19089be629983162e7573e1 (diff) | |
Fixed #10559 -- Clarified documentation on customization of comments pages. Thanks to Thejaswi Puthraya for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10566 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs/ref/contrib')
| -rw-r--r-- | docs/ref/contrib/comments/custom.txt | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/docs/ref/contrib/comments/custom.txt b/docs/ref/contrib/comments/custom.txt index d4b175603b..9e32fc4fed 100644 --- a/docs/ref/contrib/comments/custom.txt +++ b/docs/ref/contrib/comments/custom.txt @@ -25,7 +25,7 @@ settings file would contain:: 'my_comment_app', ... ] - + COMMENTS_APP = 'my_comment_app' The app named in :setting:`COMMENTS_APP` provides its custom behavior by @@ -45,13 +45,13 @@ To make this kind of customization, we'll need to do three things: #. Create a custom comment :class:`~django.db.models.Model` that adds on the "title" field. - + #. Create a custom comment :class:`~django.forms.Form` that also adds this "title" field. - + #. Inform Django of these objects by defining a few functions in a custom :setting:`COMMENTS_APP`. - + So, carrying on the example above, we're dealing with a typical app structure in the ``my_custom_app`` directory:: @@ -63,12 +63,15 @@ the ``my_custom_app`` directory:: In the ``models.py`` we'll define a ``CommentWithTitle`` model:: from django.db import models - from django.contrib.comments.models import BaseCommentAbstractModel + from django.contrib.comments.models import Comment - class CommentWithTitle(BaseCommentAbstractModel): + class CommentWithTitle(Comment): title = models.CharField(max_length=300) - -All custom comment models must subclass :class:`BaseCommentAbstractModel`. + +Most custom comment models will subclass the :class:`Comment` model. However, +if you want to substantially remove or change the fields available in the +:class:`Comment` model, but don't want to rewrite the templates, you could +try subclassing from :class:`BaseCommentAbstractModel`. Next, we'll define a custom comment form in ``forms.py``. This is a little more tricky: we have to both create a form and override @@ -82,11 +85,11 @@ field:: class CommentFormWithTitle(CommentForm): title = forms.CharField(max_length=300) - + def get_comment_model(self): # Use our custom comment model instead of the built-in one. return CommentWithTitle - + def get_comment_create_data(self): # Use the data of the superclass, and add in the title field data = super(CommentFormWithTitle, self).get_comment_create_data() @@ -186,4 +189,4 @@ however. Return the URL for the "approve this comment from moderation" view. The default implementation returns a reverse-resolved URL pointing - to the :func:`django.contrib.comments.views.moderation.approve` view.
\ No newline at end of file + to the :func:`django.contrib.comments.views.moderation.approve` view. |
