Skip to main content

A django middleware to switch between public and protected versions of the same page (url).

Project description


==============================
django-middleware-public-pages
==============================

Use this App to redirect the requests to 'public' alternative of the same view if the user is not logged in.
For example, if there are two views registered:
- page_private (name=page1)
- page_public (name=page1_pub)
If the user is not authenticated, the middleMiddleware will look for a url-name with the same name and the suffix '_pub' and redirect the request.
If the user is authenticated or the 'public' URL is not found, the Middleware has no effect.


Quick start
-----------

1. Install the app:


1. Add it to your INSTALLED_APPS setting like this::

INSTALLED_APPS = [
...
'django-middleware-public-pages',
]

2. Add the middleware at the end of the list in settings::

MIDDLEWARE_CLASSES = (
...
"django-middleware-public-pages",
)

3. Configure two views, one for authenticated user e.g. page_private and another
for anonymous or public (page_public)::

urlpatterns += [
url("^page_private/$", views.Page1View.as_view(), name="page1"),
url("^page_public/$", views.Page2View.as_view(), name="page1_pub"),
...
]

The middleware will automaticaly redirect "/page_private" to "/page_public" if the user is not
authenticated.
Attention: important is the name of the view and not the url-path.

Project page - https://gitlab.com/rristow/django-middleware-public-pages.git

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-middleware-public-pages, version 0.16
Filename, size File type Python version Upload date Hashes
Filename, size django_middleware_public_pages-0.16-py3-none-any.whl (3.7 kB) File type Wheel Python version 3.6 Upload date Hashes View hashes
Filename, size django-middleware-public-pages-0.16.tar.gz (2.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page