Requires login to all requests through middleware.
Project description
django-login-required-middleware
django-login-required-middleware provide login to all requests through middleware.
If the website has many views and almost all use
LoginRequiredMixin or the login_required decorator, using django-login-required
can keep the code of your views more clear and avoids forgetting authentication of view.
Requirements
- Python 3.8 to 3.10 supported.
- Django 3.2 to 4.1 supported.
Quick start
-
Install
pip install django-login-required-middleware -
Add
login_required.middleware.LoginRequiredMiddlewaretoMIDDLEWAREafterdjango.contrib.auth.middleware.AuthenticationMiddleware -
(Optional) To ignore authentication in a view uses decorato
@login_not_requiredfor FBV orLoginNotRequiredMixinfor CBV:from login_required import login_not_required @login_not_required def my_view(request): return HttpResponse()
or
from login_required import LoginNotRequiredMixin class MyView(LoginNotRequiredMixin, View): def get(self, request, *args, **kwargs): return HttpResponse()
-
(Optional) Add
LOGIN_REQUIRED_IGNORE_PATHSsetting. Any requests which match these paths will be ignored. This setting should be a list filled with regex paths (settings.LOGIN_URLalways included).Example:
LOGIN_REQUIRED_IGNORE_PATHS = [ r'/accounts/logout/$', r'/accounts/signup/$', r'/admin/$', r'/about/$' ]
-
(Optional) Add
LOGIN_REQUIRED_IGNORE_VIEW_NAMESsetting. Any requests which match these url name will be ignored. This setting should be a list filled with url names.Example:
LOGIN_REQUIRED_IGNORE_VIEW_NAMES = [ 'home', 'admin:index', 'admin:login', 'namespace:url_name', ]
-
(Optional) Add
LOGIN_REQUIRED_REDIRECT_FIELD_NAMEsetting. This will be passed to Django's redirect_to_login(). Default is 'next'.Example:
LOGIN_REQUIRED_REDIRECT_FIELD_NAME = 'next_url'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-login-required-middleware-0.9.0.tar.gz.
File metadata
- Download URL: django-login-required-middleware-0.9.0.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
847ae9a69fd7a07618ed53192b3c06946af70a0caf6d0f4eb40a8f37593cd970
|
|
| MD5 |
63a46b59d80e456c70ef21a9d649d771
|
|
| BLAKE2b-256 |
ef51edb065f2f24c46d5c17633080b91b3817d1b890d4f0924c36d338e9e125f
|