Sveetchies-account is a Django application to embed all the registration stuff using django-registration and django-simple-captcha.
This is not really intended to be a generic app, so use it at your own risk.
It is an implementation of an inherited django-registration backend with django-simple-captcha usage and with a UserProfileBase abstract model (and his form, and his form view) that can be used as a base for user profiles.
Also it implements autobreadcrumbs, optionnal user profile form, optionnal password reset views, django-crispy-forms is fully supported and it contains all needed templates to demonstrate usage.
- Download his PyPi package;
- Clone it on his Github repository;
- Django >= 1.5;
- autobreadcrumbs;
- django-braces >= 1.0.0;
- django-registration >= 1.0;
- django-simple-captcha >= 0.4.1;
- django-crispy-forms >= 1.1.x;
If you are installing this module within a virtualenv, you would have issue with PIL that probably won't be compiled with the Freetype support that is used by django-simple-captcha.
To resolve this, uninstall your PIL install within your virtualenv :
pip uninstall PIL
Then you will have to install Freetype2 devel library on your system with your prefered package manager, then install Pillow :
pip install Pillow
It will detect the devel libraries from your system and will compile with their support, problem resolved.
In your settings file add the app to your installed apps :
INSTALLED_APPS = (
'registration',
'captcha'
'sveeaccounts',
...
)
Then you have to mount its urls map in your webapp urls. It is recommended to add them before 'django.contrib.auth'.
If you have installed django-crispy-forms you can specify your own form helper for registration and login forms. To do this you will have to specify the full Python path to your helper methods to use.
In your settings you can add the following variables, all of them are optionnal :
REGISTRATION_FORM_HELPERfor the registration form;REGISTRATION_LOGIN_HELPERfor the login form;REGISTRATION_USERPROFILE_HELPERfor the userprofile edit form;REGISTRATION_PASSWORD_RESET_HELPERfor the password reset form (where it asks your email);REGISTRATION_PASSWORD_RESET_CHANGE_HELPERfor the password change form (where it asks you for a new password);REGISTRATION_BLOCKEDifTruethe registration form is blocked, users can't register but still can log in, default isFalse.PASSWORD_RESET_BLOCKEDifTruethe password reset views will be disabled, default isFalse.USER_PROFILE_BLOCKEDifTruethe user profile form will be disabled, default isFalse.
The methods which these Python path point just have to return the helper you did, see the sveeaccounts.crispies code for samples.
Note that if you use django-crispy-forms you will have to override template form like login.html and registration.html to add the django-crispy-forms tags usage.
- Drop version support for
Django < 1.5anddjango-registration < 1.0; - Some changes in default templates to use Foundation5 column names;
- Add a
menu.htmlfor a full sample menu in default templates; - Update french translation catalog (PO file);