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 hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page