Skip to main content

Django + Fighting Spam Made Easy

Project description

https://badge.fury.io/py/dj-spam.png https://travis-ci.org/pydanny/dj-spam.png?branch=master

Django + Flagging Spam Made Easy

Documentation

The full documentation is at https://dj-spam.readthedocs.org.

Features

  • For Django 1.8+

  • For Python 2.7/3.3+

  • Direct foreign key from the model to the spam report. Avoiding content types and using explicit foreign keys makes for less kludgy databases.

  • Powered by conventions used all over Django:

    • Have the appropriate __str__() or __unicode__() method on your models.

    • Flaggable models should have get_absolute_url() methods.

Quickstart

Install dj-spam:

pip install dj-spam

Configure it into your project:

# settings.py
INSTALLED_APPS += ['spam', ]
# urls.py
url(r'^spam/', include('spam.urls', namespace='spam')),

For any model you want to flag:

from spam import Spammable

class MyModel(Spammable, models.Model):
    # Define your model here. Spammable attaches
    #   the spam_flag field to your model as a ManyToManyField.

    @models.permalink
    def get_absolute_url(self):
        # Not required, but it allows dj-spam to link back to the offending
        # content in the report spam view.
        return 'absolute link to model detail view'

Run Migrations

./manage migrate

Then, in the model’s related view:

from spam import SpammableMixin

class MyModelDetailView(SpammableMixin, DetailView):
    class = MyModel

This empowers you with the view method spam_report_url which you can use to define the URL to the reporting form:

<a href="{{ view.spam_report_url }}">Report Spam</a>

admin

dj-spam comes with a simple admin view.

emailing managers

dj-spam emails settings.MANAGERS every time something is flagged. If you don’t set settings.MANAGERS, it will email settings.ADMINS.

History

0.2.0 (2-15-07-29)

  • Added admin functionality.

  • Fixed broken spam report form.

  • Email of managers when content is flagged as spam.

0.1.0 (2-15-07-28)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dj-spam-0.2.0.tar.gz (8.5 kB view hashes)

Uploaded Source

Built Distribution

dj_spam-0.2.0-py2.py3-none-any.whl (10.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page