Available Settings

Here is a list of all available settings of django-campaign and their default values. All settings are prefixed with CAMPAIGN_, although this is a bit verbose it helps to make it easy to identify these settings.

CAMPAIGN_BACKEND

Default: 'campaign.backends.send_mail'

The backend used for the actual sending of the emails. The default backend campaign.backends.send_mail uses Django’s built-in e-mail sending capabilities.

Additionally the following backend is available:

  • 'campaign.backends.mandrill_api': Uses Mandrill for sending the e-mails.

Please see the backend docs about implementing your own backend.

CAMPAIGN_CONTEXT_PROCESSORS

Default: ('campaign.context_processors.recipient',)

Similar to Django’s Template Context Processors these are callables which take a Subscriber object as their argument and return a dictionary with items to add to the Template Context which is used to render the Mail.

The following processors are availble within the django-campaign distribution:

  • recipient: Implements the old default behaviour and adds the Subscriber object (a Django Model instance) to the mail context under the name recipient.
  • recipient_dict: Serializes the Subscriber object to a dict before adding it to the context. This is neccesary, if you want to pass per recipient variables to a remote service. Use this a basis for your own campaign context processors.

CAMPAIGN_SUBSCRIBE_CALLBACK

Default: None

If CAMPAIGN_SUBSCRIBE_CALLBACK is configured the handling of newsletter subscriptions via django-campaign will be enabled.

You have to supply either a callable or an import-path to a callable, which accepts an email address as argument and returns either True or False to indicate if the action was performed successfully.

Example settings.py:

CAMPAIGN_SUBSCRIBE_CALLBACK = "myproject.newsletter.utils.subscribe"

Example implementation of the callback in your app:

def subscribe(email):
    s,c = Subscriber.objects.get_or_create(email=email,
                                         defaults={'newsletter': True})
    return True

It’s up to you to decide where to store the Subscribers, as django-campaign is completely agnostic in this point. One or more Subscriber models can be defined via the admin interface for the SubscriberList model.

CAMPAIGN_UNSUBSCRIBE_CALLBACK

Default: None

Please see CAMPAIGN_SUBSCRIBE_CALLBACK above and replace subscribe with unsubscribe.