django-mobile-withstatic

Software captura de pantalla:
django-mobile-withstatic
Detalles de software:
Versión: 0.2.4
Fecha de carga: 20 Feb 15
Promotor: Gregor Mullegger
Licencia: Libre
Popularidad: 11

Rating: 5.0/5 (Total Votes: 1)

django-Mobile es una aplicación Django que proporciona una forma sencilla de detectar los navegadores móviles y le da herramientas a su disposición para hacer que algunas plantillas diferentes para ofrecer una versión móvil de su sitio para el usuario.
La idea es mantener sus puntos de vista exactamente lo mismo pero para el intercambio de forma transparente las plantillas utilizadas para representar una respuesta. Esto se hace en dos pasos:
1. Un middleware determina la preferencia del cliente para ver su sitio. Por ejemplo si quiere utilizar el sabor móvil o el sabor de escritorio completo.
2. El cargador de plantillas toma entonces el cuidado de elegir las plantillas correctas basadas en el sabor detectado en el middleware.
Instalación
Pre-Requisitos: django_mobile depende entorno de sesiones de Django. Así que antes de intentar utilizar django_mobile asegurarse de que el marco de las sesiones está habilitada y en funcionamiento.
1. Instale django_mobile con su herramienta favorita python, por ejemplo, con easy_install django_mobile o PIP instalar django_mobile.
2. Añadir django_mobile a sus INSTALLED_APPS ajuste en el settings.py.
3. Añadir django_mobile.middleware.MobileDetectionMiddleware a su entorno MIDDLEWARE_CLASSES.
4. Agregue django_mobile.middleware.SetFlavourMiddleware a su entorno MIDDLEWARE_CLASSES. Asegúrese de que aparece en la lista después de MobileDetectionMiddleware y también después SessionMiddleware.
5. Añadir django_mobile.loader.Loader como primer elemento a su lista de TEMPLATE_LOADERS en settings.py.
6. Añadir django_mobile.context_processors.flavour a su entorno TEMPLATE_CONTEXT_PROCESSORS.
Ahora usted debería ser capaz de utilizar django-móvil en toda su gloria. Lea a continuación de cómo funcionan las cosas y que los ajustes pueden ser ajustados para modificar el comportamiento de django-móvil.
Uso
El concepto de django-móvil está construida en torno a las ideas de diferentes sabores para su sitio. Por ejemplo la versión móvil se describe como un sabor posible, la versión de escritorio como otro.
Esto hace que sea posible proporcionar muchos diseños posibles en lugar de sólo la diferenciación entre una experiencia de escritorio completa y una versión móvil. Usted puede hacer múltiples sabores móviles disponibles por ejemplo, uno para Safari Mobile en el iPhone y Android, así como uno para Opera y una extra para las tabletas de Internet como el iPad.
Nota: Por defecto django-móvil sólo distingue entre sabor y móvil.
Después de que el sabor correcto es de alguna manera elegida por los middleware, se asigna al atributo request.flavour. Usted puede utilizar esto en sus puntos de vista para proporcionar lógica separada.
Este sabor es luego utilizado para seleccionar de forma transparente las plantillas personalizadas para este sabor especial. La plantilla seleccionada tendrá el sabor actual prefijo del nombre de la plantilla que realmente quiere hacer. Esto significa que cuando render_to_response ('index.html', ...) se llama con el sabor móviles estar activos en realidad devolver una respuesta dictada con la plantilla móvil / index.html. Sin embargo, si esta plantilla con sabor no está disponible será gracia de réplica a la plantilla index.html por defecto.
En algunos casos no es la forma que se desee tener un plantillas completamente separados para cada sabor. También puede utilizar la variable de plantilla {sabor} {} sólo para cambiar pequeños aspectos de una única plantilla. Un pequeño ejemplo:


& Nbsp; Mi sitio {% if sabor ==% "móvil"} (versión móvil) {% endif%}


& Nbsp; ...


Esto agregará (versión móvil) para el título de su sitio si se ve con el sabor móvil habilitado.
Nota: La variable de plantilla sabor sólo está disponible si se ha configurado el procesador contexto django_mobile.context_processors.flavour y utilizado RequestContext de Django como instancia de contexto para hacer la plantilla.
Cambiar el sabor actual
El caso de uso básico de django-móvil es, obviamente, para servir a una versión móvil de su sitio a los usuarios. La selección del sabor correcta habitualmente ya se hace en los middleware cuando sus propios puntos de vista son llamados. En algunos casos, usted desea cambiar el sabor se utiliza actualmente en la vista o en otro lugar. Usted puede hacer esto simplemente llamando django_mobile.set_flavour (sabor [, permanente = True]). El primer argumento se auto explicando. Pero tenga en cuenta que sólo puede pasar en un sabor que también está en su entorno SABORES. De lo contrario set_flavour levantará un ValueError. Los parámetros permanentes opcional define si el cambio del sabor se recuerde para futuras solicitudes de un mismo cliente.
Sus usuarios pueden configurar su sabor deseado ellos mismo. Sólo tienen que especificar el parámetro GET sabor en una petición a su sitio. Esto elegir permanentemente este sabor como su preferencia para ver el sitio.
Puede utilizar este parámetro GET para que el usuario seleccione entre sus sabores disponibles:


Notas sobre el almacenamiento en caché
Django es el envío con algunos métodos de conveniencia para almacenar en caché fácilmente sus puntos de vista. Uno de ellos es django.views.decorators.cache.cache_page. El problema con el almacenamiento en caché de una página entera en conjunto con django-móvil es, el sistema de almacenamiento en caché de Django que no tiene conocimiento de sabores. Esto significa que si la primera solicitud de una página se sirve con un sabor móvil, la segunda petición también podría obtener una página representada con el sabor móvil de la caché - incluso si el segundo fue solicitada por un navegador de escritorio.
django-móvil está a la venta con su propia aplicación de cache_page para resolver este problema. Por favor, use django_mobile.cache.cache_page vez de propio decorador cache_page de Django.
También puede utilizar de Django middleware de caché django.middleware.cache.UpdateCacheMiddleware y FetchFromCacheMiddleware como que ya lo hacen. Pero para que sean conscientes de sabores, es necesario agregar django_mobile.cache.middleware.CacheFlavourMiddleware como segunda último elemento de la configuración MIDDLEWARE_CLASSES, justo antes FetchFromCacheMiddleware.
referencia
django_mobile.get_flavour ([pedir] [por defecto])
& Nbsp; Obtener el sabor activo actualmente. Si nada de sabor se puede determinar que volverá por defecto. Esto puede suceder si set_flavour no se llamaba antes en el ciclo de solicitud-respuesta actual. por defecto por defecto al primer elemento de la configuración SABORES.
django_mobile.set_flavour (sabor, [pedir] [permanente])
& Nbsp; Ajuste el sabor que se utilizará para la solicitud. Esto elevará ValueError si el sabor no es en el entorno SABORES. Usted puede tratar de establecer el sabor permanentemente por petición pasando = permanentes Verdadero. Esto puede fallar si se encuentra fuera de un ciclo de solicitud-respuesta. solicitar incumplimientos a la solicitud activa.
django_mobile.context_processors.flavour
& Nbsp; procesador de contexto le da sabor actual como sabor al contexto.
django_mobile.context_processors.is_mobile
& Nbsp; Este procesador contexto añadirá una variable is_mobile al contexto que es verdadero si el sabor es igual a la actual configuración DEFAULT_MOBILE_FLAVOUR.
django_mobile.middleware.SetFlavourMiddleware
& Nbsp; Se encarga de cargar el sabor almacenado desde la sesión del usuario si está establecido. También define la petición actual a una variable de subproceso local. Esto es necesario para proporcionar get_flavour (funcionalidad) sin tener acceso al objeto de solicitud.
django_mobile.middleware.MobileDetectionMiddleware
& Nbsp; Detecta si un navegador móvil intenta acceder al sitio y pone el sabor a DEFAULT_MOBILE_FLAVOUR valor de los ajustes por si acaso.
django_mobile.cache.cache_page
& Nbsp; Igual que cache_page decorador de Django, pero se aplica vary_on_flavour antes de la vista se adorna con django.views.decorators.cache.cache_page.
django_mobile.cache.vary_on_flavour
& Nbsp; Un decorador creado a partir del middleware CacheFlavourMiddleware.
django_mobile.cache.middleware.CacheFlavourMiddleware
& Nbsp; cabecera añade X-Sabor a request.META en process_request y agrega esta cabecera de respuesta ['Vary'] en process_response.
personalización
Hay algunos puntos disponibles que le permiten personalizar el comportamiento de django-móvil. Estas son algunas de las posibilidades que figuran:
MobileDetectionMiddleware
El middleware incorporado para detectar si el usuario está utilizando un navegador móvil sirvió bien en la producción, pero está lejos de ser perfecto y también en práctica de una manera muy simplista. Puede quitar este middleware de la configuración y añadir su propia versión. Sólo asegúrese de que llama django_mobile.set_flavour en algún momento de establecer el sabor correcto para usted.
Ajustes
Aquí está una lista de los ajustes que se utilizan por django-móvil y se pueden cambiar en su propio settings.py:
SABORES
Una lista de los sabores disponibles para su sitio.
Por defecto: ("total", "móvil")
DEFAULT_MOBILE_FLAVOUR
El sabor que se elige si el MobileDetectionMiddleware incorporado detecta un navegador móvil.
Por defecto: móvil
FLAVOURS_TEMPLATE_PREFIX
Esta cadena se usará como prefijo a los nombres de plantilla en la búsqueda de plantillas con sabor. Esto es útil si tiene muchos sabores y desea guardarlos en un subdirectorio común. Ejemplo:
desde django.template.loader render_to_string importación
desde set_flavour importación django_mobile
set_flavour ('móvil')
render_to_string ('index.html') # rendirá 'móvil / index.html'
# Ahora agregar esto a settings.py
FLAVOURS_TEMPLATE_PREFIX = 'sabores /'
# Y vuelva a intentarlo
set_flavour ('móvil')
render_to_string ('index.html') # rendirá 'sabores / mobile / index.html'
Por defecto: '' (cadena vacía)
FLAVOURS_TEMPLATE_LOADERS
cargador de plantillas de Django-móvil puede cargar plantillas prefijadas con el sabor actual. Especifique con esta configuración que se utilizan cargadores para cargar plantillas con sabor.
Por defecto: lo mismo que TEMPLATE_LOADERS ajuste pero sin 'django_mobile.loader.Loader'.
FLAVOURS_GET_PARAMETER
Los usuarios pueden cambiar el sabor que quieren mirar con un parámetro HTTP GET. Esto determina el nombre de este parámetro. Póngalo en Ninguno para desactivar.
Por defecto: "sabor"
FLAVOURS_SESSION_KEY
La preferencia del usuario establecido con el parámetro GET se almacena en la sesión del usuario. Este ajuste determina que la clave de sesión se utiliza para contener esta información.
Por defecto: "sabor"

¿Cuál es nuevo en esta versión:.

  • Plataforma Añadido reconociendo

¿Qué hay de nuevo en la versión 0.2.3:

  • FIX: set sabor en todos los casos, no sólo si se detecta un navegador móvil. Gracias a John P. Kiffmeyer para el informe.

Requisitos :

  • Python
  • Django

Otro software de desarrollador Gregor Mullegger

django-mobile
django-mobile

14 Apr 15

Comentarios a la django-mobile-withstatic

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!