Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A viral holding page to collect email addresses with export and unsubscribe functionality.

Project Description

Tested versions


  • Python 2.7.9
  • Python 3.3.5
  • Python 3.4.2
  • Python 3.5.0


  • Django 1.8


  • Users can provide their email address and name which is saved in to the database for future exports to systems such as Campaign Monitor.
  • Each user is sent a viral code, which allows them to share your holding page with other people and build up points.
  • Complete use of templates - configure the entire app to your own needs without touching the code


Start up a Django project in the usual way and then ensure you have the requirements installed:

pip install django-widget-tweaks==1.4.1

To run the tests on Python 2.7 install mock too:

pip install mock==1.3.0

Install django-holding-page pip:

pip install django-holding-page

At the end of


At the end of

urlpatterns += patterns(
    url(r'', include('holding_page.subscribers.urls', namespace='subscriber',)),

Remember to migrate:

python migrate

Finally, don’t forget to change Django’s default Site at /admin/ so the emails work correctly.


The following templates can be overwritten in your templates directory. See

Web pages

  • base.html
  • subscriber/subscribe_form.html
  • subscriber/successful_unsubscribe.html
  • subscriber/thank_you.html
  • subscriber/unsubscribe_form.html


  • email/welcome_body.txt
  • email/welcome_subject.txt


To develop the holding page package itself:

git clone git://
cd django-holding-page
pip install -r requirements.txt
./ test
./ migrate

Development Roadmap/Ideas

  • Auto-export to Campaign Monitor, Sales Force, etc
  • “Reserve my username” feature
  • Make it easy to integrate this as a beta holding pen for Django projects (i.e. issue beta invites to your subscribers)
  • Anything else you fancy adding/suggesting
  • Pull requests will be reviewed if you choose to share back.



  • First version.
Release History

Release History

This version
History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-holding-page-1.0.0.tar.gz (9.6 kB) Copy SHA256 Checksum SHA256 Source Oct 28, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting