django-users2
Custom user model for django >=1.5 with support for multiple user types and lots of other awesome utils (mostly borrowed from other projects). If you are using django < 1.11, please install v0.2.1 or earlier (pip install django-users2<=0.2.1).
Features
email as username for authentication (barebone extendable user models)
support for multiple user types (using the awesome django-model-utils)
automatically creates superuser after syncdb/migrations (really handy during the initial development phases)
built in emails/passwords validators (with lots of customisable options)
prepackaged with all the templates, including additional templates required by views in django.contrib.auth (for a painless signup process)
Documentation
The full documentation is at https://django-users2.readthedocs.org.
Quickstart
Install django-users2:
pip install django-users2
Add django-users2 to INSTALLED_APPS:
INSTALLED_APPS = ( ... 'django.contrib.auth', 'django.contrib.sites', 'users', ... )Set your AUTH_USER_MODEL setting to use users.User:
AUTH_USER_MODEL = 'users.User'
Once you’ve done this, run the migrate command to install the model used by this package:
python manage.py migrate
Add the django-users2 URLs to your project’s URLconf as follows:
urlpatterns = patterns('', ... url(r'^accounts/', include('users.urls')), ... )
which sets up URL patterns for the views in django-users2 as well as several useful views in django.contrib.auth (e.g. login, logout, password change/reset)
Configuration
Set USERS_VERIFY_EMAIL = True to enable email verification for registered users.
When a new User object is created, with its is_active field set to False, an activation key is generated, and an email is sent to the user containing a link to click to activate the account:
USERS_VERIFY_EMAIL = False
Upon clicking the activation link, the new account is made active (i.e. is_active field is set to True); after this, the user can log in. Optionally, you can automatically login the user after successful activation:
USERS_AUTO_LOGIN_ON_ACTIVATION = True
This is the number of days the users will have, to activate their accounts after registering:
USERS_EMAIL_CONFIRMATION_TIMEOUT_DAYS = 3
Automatically create django superuser after syncdb, by default this option is enabled when settings.DEBUG = True.
You can customise the email/password by overriding USERS_SUPERUSER_EMAIL and USERS_SUPERUSER_PASSWORD settings (highly recommended):
USERS_CREATE_SUPERUSER = settings.DEBUG USERS_SUPERUSER_EMAIL = 'superuser@djangoproject.com' USERS_SUPERUSER_PASSWORD = 'django'
Prevent automated registration by spambots, by enabling a hidden (using css) honeypot field:
USERS_SPAM_PROTECTION = True
Prevent user registrations by setting USERS_REGISTRATION_OPEN = False:
USERS_REGISTRATION_OPEN = True
Settings for validators, that check the strength of user specified passwords:
# Specifies minimum length for passwords: USERS_PASSWORD_MIN_LENGTH = 5 #Specifies maximum length for passwords: USERS_PASSWORD_MAX_LENGTH = None
Optionally, the complexity validator, checks the password strength:
USERS_CHECK_PASSWORD_COMPLEXITY = True
Specify number of characters within various sets that a password must contain:
USERS_PASSWORD_POLICY = {
'UPPER': 0, # Uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'LOWER': 0, # Lowercase 'abcdefghijklmnopqrstuvwxyz'
'DIGITS': 0, # Digits '0123456789'
'PUNCTUATION': 0 # Punctuation """!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"""
}
Allow/disallow registration using emails addresses from specific domains:
USERS_VALIDATE_EMAIL_DOMAIN = True
List of disallowed domains:
USERS_EMAIL_DOMAINS_BLACKLIST = []
For example, USERS_EMAIL_DOMAINS_BLACKLIST = ['mailinator.com'] will block all visitors from using mailinator.com email addresses to register.
List of allowed domains:
USERS_EMAIL_DOMAINS_WHITELIST = []
For example, USERS_EMAIL_DOMAINS_WHITELIST = ['ljworld.com'] will only allow user registration with ljworld.com domains.
Metadata
Release files for django-users2 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| django-users2-0.2.2.tar.gz | 19.5 kB | Without provenance | Details |
Release files / django-users2-0.2.2.tar.gz
| Download URL | django-users2-0.2.2.tar.gz |
|---|---|
| Size | 19.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
20926d91c386d43a0b6ed1badb26dea892532f1cc95260c423ad27e7b6ef6b42
|
|
BLAKE2b-256 checksum How to use checksums |
904ac8001004ca7dc9fb0609e163ee3d6da1c602cfd70c3c3fe2473f37f4c677
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for django-users2 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.