Skip to main content

Common things every Django app needs!

Project description

Overview

Django-common consists of the following things:

  • A middleware that makes sure your web-app runs either on or without ‘www’ in the domain.

  • A SessionManagerBase base class, that helps in keeping your session related code object-oriented and clean! See session.py for usage details.

  • An EmailBackend for authenticating users based on their email, apart from username.

  • Some custom db fields that you can use in your models including a UniqueHashField and RandomHashField.

  • Bunch of helpful functions in helper.py

  • A render_form_field template tag that makes rendering form fields easy and DRY.

  • A couple of dry response classes: JsonResponse and XMLResponse in the django_common.http that can be used in views that give json/xml responses.

Installation

  • Install django_common (ideally in your virtualenv!) using pip or simply getting a copy of the code and putting it in a directory in your codebase.

  • Add django_common to your Django settings INSTALLED_APPS:

        INSTALLED_APPS = [
        # ...
        "django_common",
    ]
  • Add the following to your settings.py with appropriate values:

    • IS_DEV

    • IS_PROD

    • DOMAIN_NAME

    • WWW_ROOT

  • Add common_settings to your Django settings TEMPLATE_CONTEXT_PROCESSORS:

    TEMPLATE_CONTEXT_PROCESSORS = [
            # ...
            "common_settings",
    ]
  • Add EmailBackend to the Django settings AUTHENTICATION_BACKENDS:

    AUTHENTICATION_BACKENDS = (
            'django_common.auth_backends.EmailBackend',
            'django.contrib.auth.backends.ModelBackend'
    )
  • Add WWWRedirectMiddleware if required to the list of middlewares:

    MIDDLEWARE_CLASSES = [
            # ...
            "WWWRedirectMiddleware",
    ]

This open-source app is brought to you by Tivix, Inc. ( http://tivix.com/ )

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

django-common-tivix-0.1.2.linux-i686.tar.gz (22.3 kB view details)

Uploaded Source

File details

Details for the file django-common-tivix-0.1.2.linux-i686.tar.gz.

File metadata

File hashes

Hashes for django-common-tivix-0.1.2.linux-i686.tar.gz
Algorithm Hash digest
SHA256 822defe276c33fd0d8e4726fdb77f33caaca696abbbbb7afa4c74246d9830cab
MD5 245aab70b1788cf6b96f64da64ca1bd1
BLAKE2b-256 850a8f519dd7d267167fa6bdc8295c4b7706d2bcd18badb960d4379e6154e389

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