Skip to main content

Django middleware to handle routing for subdomains.

Project description

Djano Subdomain Middleware

The Django subdomain middleware provides the ability to configure different url configurations for each subdomain.

How To Install

This package can be installed using Pip. Prior to doing so however you should identify the version that you require.

The versioning of this package matches the versioning of Django. Therefore, if you are using Django 4.2 you should use version 4.2 of this package.

Once you have identified the version you can simply do something along the lines of:

pip install django_subdomain_middleware>=4.2,<5

How To Use

To use this package simple do the following:

Add django_subdomain_middleware To The Middleware

Within settings.py there will be a list assigned to the MIDDLEWARE constant. Add the following to it after common:

"django_subdomain_middleware.subdomain.Subdomain",

so that it looks like:

MIDDLEWARE = [
    "django.middleware.security.SecurityMiddleware",
    "django.contrib.sessions.middleware.SessionMiddleware",
    "django.middleware.common.CommonMiddleware",
    "django_subdomain_middleware.subdomain.Subdomain",
    "django.middleware.csrf.CsrfViewMiddleware",
    "django.contrib.auth.middleware.AuthenticationMiddleware",
    "django.contrib.messages.middleware.MessageMiddleware",
    "django.middleware.clickjacking.XFrameOptionsMiddleware",
]

Doing this will provide a subdomain entry in any request object.

Add Subdomain Routing

If you would like to route based on the subdomain then the following should also be carried out:

SUBDOMAIN_URL_CONF = {
    'test': "project_name.testurls",
    '*': "project_name.wildcardurls",
}

In the above example test.domain.com would use the url configuration called testurls in project_name, * acts as a wildcard, therefore, any other subdomain will be routed towards the url configuration called wildcardurls.

In the event that either of the following occurs the standard default url configuration will be used:

  • A subdomain is visited but no configuration or wildcard exists.
  • A visitor goes directly to the allowed hosts domain.

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 Subdomain Middleware-4.2.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file Django Subdomain Middleware-4.2.0.tar.gz.

File metadata

File hashes

Hashes for Django Subdomain Middleware-4.2.0.tar.gz
Algorithm Hash digest
SHA256 61478ef0c78e3afb8d7500eebd11a9e14100fece27de3d0a33e03431928f7481
MD5 a352ecc036e47fa4d2b2b2e699a55b87
BLAKE2b-256 16cc711887bf9cbbefbf89cfe45661cab062e40985fd38a4850449480934035a

See more details on using hashes here.

File details

Details for the file Django_Subdomain_Middleware-4.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for Django_Subdomain_Middleware-4.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a507f4758981158f1cbbe1c019151926b9d8b424920739145c533cab8bea6942
MD5 402425405c37df9c496e168cc7c52db1
BLAKE2b-256 2052abb25fa3145aafc506b881178b12c2be0e32477e80a4b3303cca18cf8c90

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