Skip to main content

django based newsletter toolkit

Project description

Penyblack is a newsletter module based on the feincms.org CMS building toolkit. E-mails can either be sent as mass mails (e.g. monthly newsletter) or as part of a customised workflow (e.g. user clicks on a link and in response to that your application sends out an e-mail). Conditional data and variables can be filled in to a newsletter using the django template language. SPF (sender validation) and bounce management can be activated if desired. Key data like bounce rate, opening rate and link clicks is tracked and presented in the admin menu. Sending bulk e-mails is easy on memory. 20’000 and more addresses wont crash your server. From the outset we developed Pennyblack to easily integrate into existing web projects.

Installation

Notice: This is a first draft of an installation guide. It’s not finished and complete.

  1. Make sure you have a working django project setup.

  2. Install Pennyblack over pip:

    pip install pennyblack
  3. Make sure that the FeinCMS and Pennyblack Apps are added to your installed apps in your settings.py:

    'feincms',
    'feincms.module.medialibrary',
    'pennyblack',
    'pennyblack.module.subscriber',
  4. Add a newsletter url to your urls.py:

    url(r'^newsletter/', include('pennyblack.urls'), name = 'pennyblack'),
  5. Install dependencies (over pip):

    • pydns==2.3.4

    • pyspf==2.0.5

  6. Import Pennyblack and add a newsletter template to your models.py:

    from pennyblack.models.newsletter import Newsletter
    from pennyblack.content.richtext import TextOnlyNewsletterContent, \
       TextWithImageNewsletterContent
    
    Newsletter.register_templates({
      'key': 'example',
      'title': 'Example Newsletter',
      'path': 'example_newsletter.html',
      'regions': (
          ('main', 'Main Region'),
          ),
      })
    
    Newsletter.create_content_type(TextOnlyNewsletterContent)
    Newsletter.create_content_type(TextWithImageNewsletterContent)
  7. Add Pennyblack Models to south migration modules in your settings.py:

    SOUTH_MIGRATION_MODULES = {
        'pennyblack': 'project_name.migrations_pennyblack',
        'subscriber': 'project_name.migrations_subscriber',
    }
  8. Run schemamigrations and migrate:

    ./manage.py schemamigration --initial pennyblack
    ./manage.py schemamigration --initial subscriber
    ./manage.py migrate

Dependencies

  • Python

    • django

    • feincms

    • pyspf

    • pydns

    • pil

  • Project Settings

    • TEMPLATE_CONTEXT_PROCESSORS

      • django.core.context_processors.request

    • FEINCMS_ADMIN_MEDIA

    • feincms medialibrary musst be installed

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

pennyblack-0.3.3.tar.gz (82.7 kB view details)

Uploaded Source

File details

Details for the file pennyblack-0.3.3.tar.gz.

File metadata

  • Download URL: pennyblack-0.3.3.tar.gz
  • Upload date:
  • Size: 82.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pennyblack-0.3.3.tar.gz
Algorithm Hash digest
SHA256 abec153b5f1102a68568118af513ed0d8bc5e2433b53123a0bb1aa27eaf7c0bf
MD5 8bb194e9c4b384f7a1f69733bbaaec7d
BLAKE2b-256 7d36b530b7a628110f88a093d767fe2c6ca9368cb9c9934c970bb530a90b1e2a

See more details on using hashes here.

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