Dirk Alders a50e55daf1 parameter for enabling and disabling password recovery + allow superuser password recovery and registration | 1 month ago | |
---|---|---|
locale/de/LC_MESSAGES | 4 years ago | |
migrations | 1 month ago | |
templates/users | 1 month ago | |
.gitignore | 4 years ago | |
LICENSE | 4 years ago | |
README.md | 1 month ago | |
__init__.py | 1 month ago | |
admin.py | 4 years ago | |
apps.py | 4 years ago | |
context.py | 1 month ago | |
emails.py | 1 month ago | |
forms.py | 1 month ago | |
middleware.py | 4 years ago | |
models.py | 1 month ago | |
parameter.py | 1 month ago | |
signals.py | 2 months ago | |
tests.py | 4 years ago | |
tokens.py | 1 month ago | |
urls.py | 1 month ago | |
views.py | 1 month ago |
With the django library users, you are abel to register users, add users, login, logout and do some basic adjustments for the user. This library includes some pages for that based on the extension theme.
You need to ensure that pytz is available in your python environment.
You need to integrate the themes library as well.
Clone the library in your django application.
Add the following line to the list INSTALLED_APPS
:
'users.apps.UsersConfig',
and this line to let django know the login url
LOGIN_URL = 'users-login'
and add the following line to the list urlpatterns
:
path('users/', include('users.urls')),
All parameters can be added in the django settings.py
or in a config.py
in the root django folder. The definitions in the config.py
will be used before the definitions in settings.py
.
This parameter can be True
or False
. It enables or disables the self registration.
This parameter can be True
or False
. It enables or disables the password recovery.
This parameter can be True
or False
. It enables or disables the mail validation after self registration.
This parameter can be True
or False
. It enables or disables the activation by an admin after mail validation.
With the USER_PROFILE_ADDITIONS, you can define additional profile parameters for a user. You need to define a model:
# USERPROFILE Model
#
class YourUserProfile(models.Model):
user = models.OneToOneField(User, unique=True, on_delete=models.CASCADE)
your_parameter = models.IntegerField(default=10)
and a form (called with only one parameter request
):
class YourUserProfileForm(forms.ModelForm):
class Meta:
model = YourUserProfile
fields = ['your_parameter', ]
def __init__(self, request):
if request.POST:
super().__init__(data=request.POST, instance=get_pattuserprofile(request.user))
else:
super().__init__(instance=get_pattuserprofile(request.user))
The USER_PROFILE_ADDITIONS is a dictionary where the key is the Heading and the value is the Form to be used. It shall be defined in settings.py
like this:
USERS_PROFILE_ADDITIONS = {"Your Profile": 'your.forms.YourUserProfileForm'}
You might want to add the user actions by calling users.context.menubar(bar, request)
with bar
as menubar. See theme dosumentation for more details.