Merge branch 'deprecate-comments'

This commit is contained in:
Jacob Kaplan-Moss 2013-03-11 15:39:13 -05:00
commit faabf3614e
13 changed files with 109 additions and 10 deletions

View File

@ -1,3 +1,4 @@
import warnings
from django.conf import settings from django.conf import settings
from django.core import urlresolvers from django.core import urlresolvers
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
@ -5,6 +6,8 @@ from django.contrib.comments.models import Comment
from django.contrib.comments.forms import CommentForm from django.contrib.comments.forms import CommentForm
from django.utils.importlib import import_module from django.utils.importlib import import_module
warnings.warn("django.contrib.comments is deprecated and will be removed before Django 1.8.", PendingDeprecationWarning)
DEFAULT_COMMENTS_APP = 'django.contrib.comments' DEFAULT_COMMENTS_APP = 'django.contrib.comments'
def get_comment_app(): def get_comment_app():

View File

@ -254,7 +254,6 @@ applications:
* :doc:`Logging <topics/logging>` * :doc:`Logging <topics/logging>`
* :doc:`Sending emails <topics/email>` * :doc:`Sending emails <topics/email>`
* :doc:`Syndication feeds (RSS/Atom) <ref/contrib/syndication>` * :doc:`Syndication feeds (RSS/Atom) <ref/contrib/syndication>`
* :doc:`Comments <ref/contrib/comments/index>`, :doc:`comment moderation <ref/contrib/comments/moderation>` and :doc:`custom comments <ref/contrib/comments/custom>`
* :doc:`Pagination <topics/pagination>` * :doc:`Pagination <topics/pagination>`
* :doc:`Messages framework <ref/contrib/messages>` * :doc:`Messages framework <ref/contrib/messages>`
* :doc:`Serialization <topics/serialization>` * :doc:`Serialization <topics/serialization>`

View File

@ -365,6 +365,8 @@ these changes.
- ``django.db.transaction.commit_unless_managed()`` - ``django.db.transaction.commit_unless_managed()``
- ``django.db.transaction.rollback_unless_managed()`` - ``django.db.transaction.rollback_unless_managed()``
* ``django.contrib.comments`` will be removed.
2.0 2.0
--- ---

View File

@ -4,6 +4,18 @@ Customizing the comments framework
.. currentmodule:: django.contrib.comments .. currentmodule:: django.contrib.comments
.. warning::
Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.
The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.
__ https://disqus.com/
__ https://github.com/django/django-contrib-comments
If the built-in comment framework doesn't quite fit your needs, you can extend If the built-in comment framework doesn't quite fit your needs, you can extend
the comment app's behavior to add custom data and logic. The comments framework the comment app's behavior to add custom data and logic. The comments framework
lets you extend the built-in comment model, the built-in comment form, and the lets you extend the built-in comment model, the built-in comment form, and the

View File

@ -4,6 +4,18 @@
Example of using the built-in comments app Example of using the built-in comments app
=========================================== ===========================================
.. warning::
Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.
The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.
__ https://disqus.com/
__ https://github.com/django/django-contrib-comments
Follow the first three steps of the quick start guide in the Follow the first three steps of the quick start guide in the
:doc:`documentation </ref/contrib/comments/index>`. :doc:`documentation </ref/contrib/comments/index>`.

View File

@ -5,6 +5,18 @@ Comment form classes
.. module:: django.contrib.comments.forms .. module:: django.contrib.comments.forms
:synopsis: Forms for dealing with the built-in comment model. :synopsis: Forms for dealing with the built-in comment model.
.. warning::
Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.
The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.
__ https://disqus.com/
__ https://github.com/django/django-contrib-comments
The ``django.contrib.comments.forms`` module contains a handful of forms The ``django.contrib.comments.forms`` module contains a handful of forms
you'll use when writing custom views dealing with comments, or when writing you'll use when writing custom views dealing with comments, or when writing
:doc:`custom comment apps </ref/contrib/comments/custom>`. :doc:`custom comment apps </ref/contrib/comments/custom>`.

View File

@ -7,6 +7,18 @@ Django's comments framework
.. highlightlang:: html+django .. highlightlang:: html+django
.. warning::
Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.
The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.
__ https://disqus.com/
__ https://github.com/django/django-contrib-comments
Django includes a simple, yet customizable comments framework. The built-in Django includes a simple, yet customizable comments framework. The built-in
comments framework can be used to attach comments to any model, so you can use comments framework can be used to attach comments to any model, so you can use
it for comments on blog entries, photos, book chapters, or anything else. it for comments on blog entries, photos, book chapters, or anything else.

View File

@ -5,6 +5,18 @@ The built-in comment models
.. module:: django.contrib.comments.models .. module:: django.contrib.comments.models
:synopsis: The built-in comment models :synopsis: The built-in comment models
.. warning::
Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.
The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.
__ https://disqus.com/
__ https://github.com/django/django-contrib-comments
.. class:: Comment .. class:: Comment
Django's built-in comment model. Has the following fields: Django's built-in comment model. Has the following fields:

View File

@ -5,6 +5,18 @@ Generic comment moderation
.. module:: django.contrib.comments.moderation .. module:: django.contrib.comments.moderation
:synopsis: Support for automatic comment moderation. :synopsis: Support for automatic comment moderation.
.. warning::
Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.
The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.
__ https://disqus.com/
__ https://github.com/django/django-contrib-comments
Django's bundled comments application is extremely useful on its own, Django's bundled comments application is extremely useful on its own,
but the amount of comment spam circulating on the Web today but the amount of comment spam circulating on the Web today
essentially makes it necessary to have some sort of automatic essentially makes it necessary to have some sort of automatic

View File

@ -5,6 +5,18 @@ Signals sent by the comments app
.. module:: django.contrib.comments.signals .. module:: django.contrib.comments.signals
:synopsis: Signals sent by the comment module. :synopsis: Signals sent by the comment module.
.. warning::
Django's comment framework has been deprecated and is no longer supported.
Most users will be better served with a custom solution, or a hosted
product like Disqus__.
The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.
__ https://disqus.com/
__ https://github.com/django/django-contrib-comments
The comment app sends a series of :doc:`signals </topics/signals>` to allow for The comment app sends a series of :doc:`signals </topics/signals>` to allow for
comment moderation and similar activities. See :doc:`the introduction to signals comment moderation and similar activities. See :doc:`the introduction to signals
</topics/signals>` for information about how to register for and receive these </topics/signals>` for information about how to register for and receive these

View File

@ -271,6 +271,19 @@ current APIs are deprecated:
The reasons for this change and the upgrade path are described in the The reasons for this change and the upgrade path are described in the
:ref:`transactions documentation <transactions-upgrading-from-1.5>`. :ref:`transactions documentation <transactions-upgrading-from-1.5>`.
``django.contrib.comments``
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Django's comment framework has been deprecated and is no longer supported. It
will be available in Django 1.6 and 1.7, and removed in Django 1.8. Most users
will be better served with a custom solution, or a hosted product like Disqus__.
The code formerly known as ``django.contrib.comments`` is `still available
in an external repository`__.
__ https://disqus.com/
__ https://github.com/django/django-contrib-comments
Changes to :ttag:`cycle` and :ttag:`firstof` Changes to :ttag:`cycle` and :ttag:`firstof`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View File

@ -4,6 +4,7 @@ from django.contrib.comments.models import Comment
from django.contrib.comments.moderation import (moderator, CommentModerator, from django.contrib.comments.moderation import (moderator, CommentModerator,
AlreadyModerated) AlreadyModerated)
from django.core import mail from django.core import mail
from django.test.utils import override_settings
from . import CommentTestCase from . import CommentTestCase
from ..models import Entry from ..models import Entry
@ -67,9 +68,10 @@ class CommentUtilsModeratorTests(CommentTestCase):
self.assertRaises(AlreadyModerated, moderator.register, Entry, EntryModerator1) self.assertRaises(AlreadyModerated, moderator.register, Entry, EntryModerator1)
def testEmailNotification(self): def testEmailNotification(self):
moderator.register(Entry, EntryModerator1) with override_settings(MANAGERS=("test@example.com",)):
self.createSomeComments() moderator.register(Entry, EntryModerator1)
self.assertEqual(len(mail.outbox), 2) self.createSomeComments()
self.assertEqual(len(mail.outbox), 2)
def testCommentsEnabled(self): def testCommentsEnabled(self):
moderator.register(Entry, EntryModerator2) moderator.register(Entry, EntryModerator2)

View File

@ -80,10 +80,6 @@ def setup(verbosity, test_labels):
settings.TEMPLATE_DIRS = (os.path.join(RUNTESTS_DIR, TEST_TEMPLATE_DIR),) settings.TEMPLATE_DIRS = (os.path.join(RUNTESTS_DIR, TEST_TEMPLATE_DIR),)
settings.LANGUAGE_CODE = 'en' settings.LANGUAGE_CODE = 'en'
settings.SITE_ID = 1 settings.SITE_ID = 1
# For testing comment-utils, we require the MANAGERS attribute
# to be set, so that a test email is sent out which we catch
# in our tests.
settings.MANAGERS = ("admin@djangoproject.com",)
# Load all the ALWAYS_INSTALLED_APPS. # Load all the ALWAYS_INSTALLED_APPS.
get_apps() get_apps()