Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Present users with your Terms of Service and other documents, and record their consent

Project description

Present users with your Terms of Service and other documents, and record their consent


The full documentation is at


Install django-signoff:

pip install django-signoff

Add it to your INSTALLED_APPS:


Add django-signoff’s URL patterns:

urlpatterns = [
    url(r'^signoff/', include('signoff.urls')),

If you want users to be automatically prompted to sign any documents that you add before they can use your site, add django-signoff’s middleware:


You can add some settings to your file to configure django-signoff:

# Send a notification to the user by email (using django-mailer) when they
# sign a document, including the text of the document. Default is False.

# Send a notification to a defined list of addresses whenever any user
# signs a document (may be useful for recordkeeping). Default is none.

# We don't delete signatures from your database, for compliance reasons.
# However, we do require new signatures whenever a new version of a
# document is created by creating a new object and setting the
# `prev_version` field. You can also require new signatures whenever a
# document is edited in the admin (we check the `updated` field of
# the document, and only accept newer signatures):

# You can also require new signatures whenever a user's display name
# changes (we require users to enter their display name when signing
# a document):

# If you're using the middleware, it will redirect any logged-in requests
# from users who owe signatures to the 'legal' index by default, except
# for requests within the 'signoff' app (to avoid redirect loops), and
# requests to the 'auth_logout' url name (to allow users to log out
# of the site). If you want to add additional URLs that can be accessed
# by users who have not signed your documents yet, you can do something
# like the following:
# (The latter is only an example, 'auth_logout' is automatically allowed.)


  • TODO

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox


Tools used in rendering this package:


0.1.1 (2018-06-04)

  • The app is now usable as a very limited alpha * Email options advertised in readme are not implemented * Templates could use some work
  • Add default templates
  • Add configuration options

0.1.0 (2018-06-03)

  • Initial release, demonstration of models and core logic

Project details

Download files

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

Files for django-signoff, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size django_signoff-0.1.1-py2.py3-none-any.whl (18.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size django-signoff-0.1.1.tar.gz (10.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page