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'
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
|