Skip to main content
Help us improve Python packaging – donate today!

Pluggable user accounts and profiles

Project Description

Pluggable user accounts and profiles

django-uaccounts is a pluggable Django app that provides user registration, login/logout and a “forgot password” feature. Email verification is required for account activation and resetting password. The app also supports simple user profiles, with multiple email addresses that can be verified as well.

Installation

  • Download and install from PyPI:
pip install django-uaccounts
  • Add it to your INSTALLED_APPS, as well as 'django.contrib.sites':
INSTALLED_APPS = (
    ...
    'django.contrib.sites',
    ...
    'uaccounts',
    ...
)
  • Make sure you have a django.contrib.sites.models.Site instance saved in your database as django-uaccounts needs it to get the name and the domain of your site to include them in the verification emails.
  • Configure the email settings of your project as they are needed for sending the verification emails.
  • Include the urlconf of the app in your project’s urls.py:
from django.conf.urls import url, include

urlpatterns = [
    ...
    url(r'accounts/', include('uaccounts.urls', namespace='uaccounts')),
    ...
]

Of course, you can put it under any url you want, like r'' or r'^mysite/myaccounts/'.

Usage

django-uaccounts can be a very simple standalone app, but its main purpose is to offer user account capabilities to your project, complementing your other apps. To test its usage on its own, you should be ready to go by now. However you probably want to let it know its “parent url”. This is a url to redirect to after a successful login, and provide a link for in the “profile” page, so the user can return to the main aspect of your website. This url can be set through the UACCOUNTS_HOME_URL setting.

Settings

All of the app settings are optional but you may want to modify them to customize to your needs, and most probably UACCOUNTS_HOME_URL to connect this app with the rest of your project.

  • UACCOUNTS_HOME_URL: The “parent url”. Can be an str or a call to django.core.urlresolvers.reverse_lazy.

    Default: django.core.urlresolvers.reverse_lazy('uaccounts:index')

  • UACCOUNTS_USERNAME_MIN_LENGTH: Minimum allowed characters for username.

    Default: 4

  • UACCOUNTS_PASSWORD_MIN_LENGTH: Minimum allowed characters for password.

    Default: 6

  • UACCOUNTS_STATUS_MAX_LENGTH: Maximum allowed characters for status.

    Default: 200

  • UACCOUNTS_ACTIVATION_EXPIRES: Expiration time of an account activation request, in seconds. Can be an int or None for limitless time.

    Default: 24 \* 60 \* 60

  • UACCOUNTS_CHANGE_PASSWORD_EXPIRES: Expiration time of a “forgot password” request, in seconds. Can be an int or None for limitless time.

    Default: 60 \* 60

  • UACCOUNTS_VERIFICATION_EXPIRES: Expiration time of an email verification request, in seconds. Can be an int or None for limitless time.

    Default: None

  • UACCOUNTS_AVATAR_DIR: Directory for uploading user avatars. It gets appended to your MEDIA_ROOT.

    Default: 'avatars/'

  • UACCOUNTS_AVATAR_MAX_HEIGHT: Maximum allowed height for user avatars, in pixels. Avatars get resized (kept in scale) if this is exceeded.

    Default: 200

  • UACCOUNTS_AVATAR_MAX_WIDTH: Maximum allowed width for user avatars, in pixels. Avatars get resized (kept in scale) if this is exceeded.

    Default: 200

License

BSD

Author

Aristotelis Mikropoulos <amikrop@gmail.com>

Release history Release notifications

This version
History Node

0.1.7

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
django_uaccounts-0.1.7-py2-none-any.whl (57.8 kB) Copy SHA256 hash SHA256 Wheel py2 Oct 25, 2015
django-uaccounts-0.1.7.win32.exe (255.3 kB) Copy SHA256 hash SHA256 Windows Installer any Oct 25, 2015
django-uaccounts-0.1.7.zip (61.4 kB) Copy SHA256 hash SHA256 Source None Oct 25, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page