dj-multidomain 0.3.0

Creator: danarutscher

Last updated:

Add to Cart

Description:

djmultidomain 0.3.0

dj-multidomain
Multiple Domain Middleware for Django
This middleware enables Django projects to route requests to different URL configurations based on the domain of the
incoming request. It offers both domain-based URL routing and automatic redirection to another domain for specific
domains. It's particularly useful for projects hosted across multiple domains. Developed by Ferhat Mousavi.
Supported (tested) Versions

Python: 3.10 and above
Django: 4 and above

Sample Project
dj-multidomain example
Installation

Install the package using pip:

pip install dj-multidomain


Add the Middleware to your Django settings:

MIDDLEWARE = [
...
'dj-multidomain.middleware.MultipleDomainMiddleware',
...
]


**Configure the domains and their associated URL configurations in settings.py using the MULTI_DOMAIN_CONFIG setting:
**

MULTI_DOMAIN_CONFIG = {
'domain1.com': 'path.to.urls_for_domain1',
'domain2.com': 'path.to.urls_for_domain2',
...
}


(Optional for redirect domains)Configure the domains and their associated domain configurations in settings.py
using the MULTI_REDIRECT_CONFIG setting:

MULTI_REDIRECT_CONFIG = {
"not_my_desire_domain1.com": "my_desire_domain1.com",
"not_my_desire_domain2.com": "my_desire_domain2.com",
...
}

sample path.to.urls_for_domain1 file
from django.urls import path, include

urlpatterns = [
path('', include('domain1_app.urls')),
]


(Optional) For common URLs accessible from any domain, specify the COMMON_URLS setting:

COMMON_URLS = 'path.to.common_urls'

sample path.to.common_urls file
from django.contrib import admin
from django.urls import path

urlpatterns = [
path('admin/', admin.site.urls),
]


(Optional) If you are in DEBUG mode and want a fallback for unrecognized domains, specify the DEFAULT_DOMAIN
setting:

DEFAULT_DOMAIN = 'path.to.default_urls'

Usage
With the middleware set up, incoming requests will be routed based on their domain to the specified URL configurations.
URLs defined in COMMON_URLS will be accessible from any domain.
Support & Contribution
For issues, feedback, or feature requests, please open an issue on the GitHub repository. Contributions are welcome;
feel free to submit a pull request.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.