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.

Source Distribution

django-middleware-public-pages-0.16.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file django-middleware-public-pages-0.16.tar.gz.

File metadata

File hashes

Hashes for django-middleware-public-pages-0.16.tar.gz
Algorithm Hash digest
SHA256 c20af28cff1ececc055f9852c8c872d1a149ba53985090dc27d3e5004702f792
MD5 4e0893aecb5ba981aa34bada60efef07
BLAKE2b-256 7ab61bc1d355e28c1244fefdb9b1b71dd8a82cf4748094f0c11bdfc6b1513d70

See more details on using hashes here.

File details

Details for the file django_middleware_public_pages-0.16-py3-none-any.whl.

File metadata

File hashes

Hashes for django_middleware_public_pages-0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 1eecad4c06a880eed14aa8dd91fb85d90b35429c4b6862c365493721a7b2a5c3
MD5 c8f7f768da6061a9de9484980f91524a
BLAKE2b-256 65d4bda11c62e039aa3fe27121c664eedf2bc6ee1c59e88e2f9bbb44fead923a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page