django-dynamicsites-lite es una aplicación Django que se expande el paquete django.contrib.sites estándar para permitir:
- Sitios identificados de forma dinámica desde la solicitud a través de middleware
- No hay necesidad de múltiples hosts virtuales a nivel de servidor web
- 301 redireccionamientos a nombres de host canónicas
- Un sitio puede tener su propia urls.py y plantillas
- Permite asignaciones entorno de nombre de host para utilizar nombres de host no son de producción (para su uso en dev, puesta en escena, prueba, etc. ambientes)
Configuración
& Nbsp; Antes de instalar dynamicsites, asegúrese de que ha configurado al menos 1 sitio en el panel de administración, ya que una vez dynamicsites está instalado, se tratará de las operaciones de búsqueda de un sitio de request.get_host (), y, si no lo hay, siempre tirar 404
1. Añadir la aplicación INSTALLED_APPS
& Nbsp; INSTALLED_APPS = (
& Nbsp; ...
& Nbsp; "dynamicsiteslite ',
& Nbsp;)
2. Agregue el middleware para MIDDLEWARE_CLASSES
& Nbsp; MIDDLEWARE_CLASSES = (
& Nbsp; ...
& Nbsp; "dynamicsiteslite.middleware.DynamicSitesMiddleware '
& Nbsp;)
3. Agregue el procesador de contexto para TEMPLATE_CONTEXT_PROCESSORS
& Nbsp; TEMPLATE_CONTEXT_PROCESSORS = (
& Nbsp; ...
& Nbsp; "dynamicsiteslite.context_processors.current_site ',
& Nbsp;)
4. Configure dynamicsites añadiendo SITES_DIR, SITES_PACKAGE, default_host y HOSTNAME_REDIRECTS a settings.py
& Nbsp; SITES_DIR = os.path.join (os.path.dirname (__ FILE), "sitios")
& Nbsp; SITES_PACKAGE = 'sitios'
& Nbsp; default_host = 'www.your-default-site.com'
& Nbsp; HOSTNAME_REDIRECTS = {
& Nbsp; # 'redirect-src-1.com': 'www.redirect-dest-1.com',
& Nbsp; ...
& Nbsp;}
5. Si el entorno local (por ejemplo. Prueba, dev, puesta en escena) utiliza diferentes nombres de host de producción, defina el mapa ENV_HOSTNAMES así
& Nbsp; ENV_HOSTNAMES = {
& Nbsp; "mi-site.dev ':' www.your-default-site.com ',
& Nbsp; ...
& Nbsp;}
6. hacer que los sitios dir (desde el ajuste anterior SITES_DIR) y colocar un archivo __init__.py interior
7. hacer un dir sitio para cada sitio que es el anfitrión (por ejemplo, sitios mkdir / www_mysitesdomain_com.)
Requisitos :
- Python
- Django
Comentarios que no se encuentran