django-dynamicsites-lite is een Django app die de standaard django.contrib.sites pakket om voor breidt uit:
- Sites dynamisch geïdentificeerd van de aanvraag via middleware
- Geen behoefte aan meerdere virtuele hosts op de webserver niveau
- 301 redirect naar canonieke hostnames
- Een site kan zijn eigen urls.py en templates
- Zorgt voor milieu hostname toewijzingen aan niet-productie hostnames gebruiken (voor gebruik in dev, enscenering, test, enz omgevingen)
Configuratie
& Nbsp; Voordat u dynamicsites installeert, zorg ervoor dat u hebt geconfigureerd minstens 1 site in de admin panel, want zodra dynamicsites is geïnstalleerd, zal het proberen om een site uit request.get_host () opzoeken, en, indien er geen bestaat, zal altijd gooien 404
1. Voeg de app INSTALLED_APPS
& Nbsp; INSTALLED_APPS = (
& Nbsp; ...
& Nbsp; 'dynamicsiteslite',
& Nbsp;)
2. Voeg de middleware aan MIDDLEWARE_CLASSES
& Nbsp; MIDDLEWARE_CLASSES = (
& Nbsp; ...
& Nbsp; 'dynamicsiteslite.middleware.DynamicSitesMiddleware'
& Nbsp;)
3. Voeg de context processor TEMPLATE_CONTEXT_PROCESSORS
& Nbsp; TEMPLATE_CONTEXT_PROCESSORS = (
& Nbsp; ...
& Nbsp; 'dynamicsiteslite.context_processors.current_site',
& Nbsp;)
4. Configureer dynamicsites door het toevoegen van SITES_DIR, SITES_PACKAGE, default_host en HOSTNAME_REDIRECTS te settings.py
& Nbsp; SITES_DIR = os.path.join (os.path.dirname (__ file__), "sites")
& Nbsp; SITES_PACKAGE = "sites"
& Nbsp; default_host = 'www.your-default-site.com'
& Nbsp; HOSTNAME_REDIRECTS = {
& Nbsp; # 'redirect-src-1.com': 'www.redirect-dest-1.com',
& Nbsp; ...
& Nbsp;}
5. Als uw lokale omgeving (bijv. Test, dev, staging) maakt gebruik van verschillende hostnames dan de productie, zet de kaart ENV_HOSTNAMES alsook
& Nbsp; ENV_HOSTNAMES = {
& Nbsp; 'mijn-site.dev': 'www.your-default-site.com',
& Nbsp; ...
& Nbsp;}
6. maken websites dir (van de SITES_DIR instelling hierboven) en zet een __init__.py bestand in
7. maken een site dir voor elke site die u hosting (bijv mkdir sites / www_mysitesdomain_com.)
Eisen
- Python
- Django
Reacties niet gevonden