Django reusable app with decorators, views and forms for requiring a password to access some pages, without requiring users to create an account. Good for beta sites and soft lauches.
Find a file
2013-03-08 21:47:23 +00:00
password_required Change alpha to beta 2013-03-08 21:47:23 +00:00
.gitignore Initial gitignore. 2010-06-02 21:31:58 +02:00
LICENSE A few details. 2010-06-02 00:22:22 +02:00
README.mkd Reformatting. 2010-06-03 18:25:45 +02:00
setup.py Adding setup.py. 2010-06-02 21:33:17 +02:00

Django Password Required

A reusable Django app for requiring a password to access some pages on a site, without requiring users to register an account.

This is a very simple method of authentication, and is intended to provide a low barrier of entry to a site that is not completely public.

Use cases could be previews of sites that users are not supposed to log in to, Stack Overflow-style beta tests, etc.

Using the @password_required decorator, you can password-protect individual views.

This module is based on simple session variables, and thus interoperable with django.contrib.auth, allowing you to optionally bypass password protection for all authenticated users, or only for certain groups.

Usage

  1. Install the app.
    Not really within the scope of this document, but if you have pip installed, you could do something like this:

    pip install -e git+git://github.com/mikl/django-password-required.git#egg=password_required

    If you are developing multiple Django sites, you should probably use virtualenv to keep their dependencies separate.

  2. Add password_required to INSTALLED_APPS in your Django settings file.

  3. Set PASSWORD_REQUIRED_PASSWORD to the preferred password in your Django settings file. Example:

    PASSWORD_REQUIRED_PASSWORD = 'mysecretpassword'

  4. Add the password required login page to your URLconf. Example:

    (r'^password_required/$', 'password_required.views.login'),

  5. Apply the @password_required decorator to your views like in this final code example.

    from password_required.decorators import password_required [...more imports...]

    @password_required def my_awesome_view(request): [...view code here...]

Requirements

This app requires Django 1.2 or later.

License

This app is BSD-licensed, just like Django.

Development, support and feedback

If you have problems, find a bug or have other feedback, please file an issue on the main Github repo.