Extensions to django.contrib.sites.
Features
Domain redirects: handles smart redirecting to a main domain from alias domains. Taking http/https into consideration.
Site auto-population: automatically populates the Domain name in django.contrib.sites.Site.domain based on the ALDRYN_SITES_DOMAINS setting.
Installation
add aldryn_sites to INSTALLED_APPS.
add aldryn_sites.middleware.SiteMiddleware to MIDDLEWARE_CLASSES (place it before djangosecure.middleware.SecurityMiddleware if redirects should be smart about alias domains possibly not having a valid certificate of their own. The middleware will pick up on SECURE_SSL_REDIRECT from django-secure.)
configure ALDRYN_SITES_DOMAINS:
ALDRYN_SITES_DOMAINS = {
1: { # matches SITE_ID
'domain': 'www.example.com', # main domain that all domains in redirects will redirect to.
# Auto populates ``django.contrib.sites.Site.domain``
'aliases': [ # these domains will be accessible like the main domain (no redirect).
'an.other.domain.com',
r'^[a-z0-9-]+\.anysub\.com$', # regexes are supported
],
'redirects': [ # these domains will be redirected to the main domain.
'example.com', # add ``'*'`` to redirect all non-main domains to the main one.
'example.ch',
'www.example.ch',
r'^[a-z0-9-]+\.my-redirect-domain\.com$', # regexes are supported
r'.*', # matches any domain (Makes the above rules useless. It's just an example)
],
}
}
When using regexes:
exact matches win over pattern matches
pattern redirect matches win over pattern alias matches
Further Settings
set ALDRYN_SITES_SET_DOMAIN_NAME to False if you don’t want django.contrib.sites.Site.domain to be auto-populated (default: True).
TODOS
validate settings
test settings validators
log warning if there are Sites in the database that are not in the settings
pretty display of how redirects will work (in admin and as a simple util)
regex support for aliases
form to test redirect logic
pre-compile and cache regexes
Release files for aldryn-sites 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aldryn-sites-0.6.0.tar.gz | 7.2 kB | Details |
Release files / aldryn-sites-0.6.0.tar.gz
| Download URL | aldryn-sites-0.6.0.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d2851341e923e89cd8afaf5a3c108db10182c47bfbf09d0cf5c87578e082e46c
|
|
BLAKE2b-256 checksum How to use checksums |
7e57933cdcce7c38bb307a0cfc92dbcdf33dde575989d0481780ec8a772e407f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.4
|