django-mobile-withstatic

Скриншот программы:
django-mobile-withstatic
Детали программы:
Версия: 0.2.4
Дата загрузки: 20 Feb 15
Разработчик: Gregor Mullegger
Тип распространения: Бесплатная
Популярность: 11

Rating: 5.0/5 (Total Votes: 1)

Django мобильных является приложение Django, который обеспечивает простой способ обнаружения мобильных браузеров и дает вам инструменты в руки, чтобы сделать некоторые различные шаблоны, чтобы доставить мобильную версию вашего сайта для пользователя.
Идея состоит в том, чтобы держать ваши взгляды точно так же, но прозрачно поменять шаблоны, используемые для предоставления ответа. Это делается в два этапа:
1. промежуточного определяет предпочтение клиента, чтобы просмотреть ваш сайт. Например. если он хочет использовать мобильный вкус или полный аромат рабочего стола.
2. Шаблон погрузчик занимает то заботиться о выборе правильных шаблонов, основанных на вкус, обнаруженного в ППО.
Установка
Предварительные требования: django_mobile зависит от рамках сессии Джанго. Поэтому, прежде чем пытаться использовать django_mobile убедитесь, что база заседания включен и работает.
1. Установите django_mobile с вашим любимым питона инструмента, например, с easy_install django_mobile или пункт установить django_mobile.
2. Добавить django_mobile ваших INSTALLED_APPS установка в settings.py.
3. Добавить django_mobile.middleware.MobileDetectionMiddleware вашей установке MIDDLEWARE_CLASSES.
4. Добавить django_mobile.middleware.SetFlavourMiddleware вашей установке MIDDLEWARE_CLASSES. Убедитесь, что он в списке после MobileDetectionMiddleware, а также после SessionMiddleware.
5. Добавьте django_mobile.loader.Loader в качестве первого пункта в список TEMPLATE_LOADERS в settings.py.
6. Добавить django_mobile.context_processors.flavour вашей установке TEMPLATE_CONTEXT_PROCESSORS.
Теперь вы должны быть в состоянии использовать Django-Mobile в своей красе. Читайте ниже о том, как вещи работают, а какие параметры могут быть переделаны, чтобы изменить поведение Django-Mobile.
Использование
Концепция Django-Mobile является построить вокруг идей различных ароматов для вашего сайта. Например, мобильная версия описан как один из возможных вкус, настольной версии в качестве другого.
Это дает возможность обеспечить множество возможных конструкций, а не просто различие между обычном рабочем столе и одной мобильной версии. Вы можете сделать несколько мобильных ароматы доступны например одним для мобильных сафари на iPhone и Android, а также по одному для оперы и дополнительную один для интернет-планшетов, таких как IPad.
Примечание: По умолчанию Django мобильных различает только полной и мобильной вкус.
После правильного вкус как-то облюбовали промежуточное программное, это присвоенное атрибуту request.flavour. Вы можете использовать это в ваших взглядах, чтобы обеспечить отдельный логику.
Это аромат затем использовать прозрачно выбрать пользовательские шаблоны для данного особым вкусом. Выбранный шаблон будет иметь текущий аромат префиксом имени шаблона вы действительно хотите, чтобы сделать. Это означает, что когда render_to_response ('index.html', ...) вызывается с мобильного вкус активны на самом деле возвращает ответ вынесенное с мобильного / index.html шаблон. Однако, если это ароматизированные шаблон не доступна, она будет изящно возврат к шаблону по умолчанию index.html.
В некоторых случаях его не желании способ иметь совершенно разные шаблоны для каждого аромата. Вы также можете использовать {{}} вкус переменную шаблона, чтобы изменить только маленькие аспекты одного шаблона. Короткий пример:


& NBSP; <название> Мой сайт {%, если вкус == "мобильного"%} (мобильная версия) {% ENDIF%}

<Тело>
& NBSP; ...


Это добавит (мобильная версия) с названием вашего сайта, если смотреть с мобильного вкус доступен.
Примечание: Переменная шаблона вкус доступна, только если вы создали процессор контекстное django_mobile.context_processors.flavour и используется RequestContext Django как например контекста, чтобы сделать шаблон.
Изменение текущего вкус
Основная использование случай Django-Mobile, очевидно, служить мобильной версии вашего сайта для пользователей. Выбор правильного вкуса, как правило, уже сделано в промежуточное программное когда ваши собственные взгляды называются. В некоторых случаях вы хотите изменить используемый в настоящее время аромат на ваш взгляд, или где-то еще. Вы можете сделать это, просто называя django_mobile.set_flavour (вкус [, постоянный = True]). Первый аргумент понятен. Но имейте в виду, что вы только можете перейти в аромат, который вы тоже в обстановке Ароматизаторы. В противном случае set_flavour поднимет ValueError. Необязательные параметры постоянные определяет, будет ли изменение аромата помнить для будущих запросов и того же клиента.
Ваши пользователи могут установить желаемый вкус их собственного. Они просто должны указать параметр вкус GET по запросу на ваш сайт. Это постоянно выбирают этот аромат, как их предпочтения, чтобы просмотреть этот сайт.
Вы можете использовать этот параметр, чтобы GET позволить пользователю выбрать из имеющихся у вкусов:


    & NBSP;
  • <а HREF = "вкус = полный?"> Получить полный опыт
    & NBSP;
  • <а HREF = "вкус = мобильный?"> Просмотр нашу мобильную версию
    & NBSP;
  • <а HREF = "вкус = Ipad?"> Просмотр нашу версию Ipad

Примечания по кэширования
Джанго является судоходство с некоторыми удобные методы легко кэшировать свои взгляды. Одним из них является django.views.decorators.cache.cache_page. Проблема с кэширования всю страницу в сочетании с Django-Mobile является система кэширования, который в Django не знает вкусов. Это означает, что если первый запрос к странице подается с мобильного вкус, второй запрос также может получить страницу вынесенное с мобильного вкус из кэша - даже если вторая с просьбой настольного браузера.
Django-Mobile является судоходство с его собственной реализации cache_page чтобы решить эту проблему. Пожалуйста, используйте вместо django_mobile.cache.cache_page собственный cache_page декоратор Джанго.
Вы также можете использовать в Django кэширования промежуточное программное django.middleware.cache.UpdateCacheMiddleware и FetchFromCacheMiddleware как вы уже делаете. Но, чтобы сделать их в курсе вкусов, вам необходимо добавить в качестве второго django_mobile.cache.middleware.CacheFlavourMiddleware последнего пункта в настройках MIDDLEWARE_CLASSES, прямо перед FetchFromCacheMiddleware.
Ссылка
django_mobile.get_flavour ([запрос] [по умолчанию])
& NBSP; Получить текущий активный аромат. Если нет аромата не может быть определена он вернется по умолчанию. Это может произойти, если set_flavour не была вызвана прежде в текущем цикле запрос-ответ. по умолчанию по умолчанию к первому пункту настроек. Ароматизаторы
django_mobile.set_flavour (вкус, [запрос] [постоянный])
& NBSP; Установите аромат, который будет использоваться для запроса. Это повысит ValueError если аромат не в обстановке Ароматизаторы. Вы можете попробовать установить вкус постоянно для запроса путем передачи постоянных = True. Это может потерпеть неудачу, если вы находитесь вне цикла запрос-ответ. запросить по умолчанию для активного в данный момент запроса.
django_mobile.context_processors.flavour
& NBSP; Контекст процессор, который добавляет текущий вкус, аромат в контексте.
django_mobile.context_processors.is_mobile
& NBSP; Этот контекст процессор добавить is_mobile переменную в контексте, который имеет место, если тока вкус равна настройку DEFAULT_MOBILE_FLAVOUR.
django_mobile.middleware.SetFlavourMiddleware
& NBSP; Заботится о загрузке сохраненного аромат от сессии пользователя, если установлен. Также устанавливает текущий запрос к переменной локального потока. Это необходимо, чтобы обеспечить get_flavour () функциональность, не имея доступа к объекту запроса.
django_mobile.middleware.MobileDetectionMiddleware
& NBSP; Обнаруживает, если мобильный браузер пытается получить доступ к сайту и устанавливает аромат DEFAULT_MOBILE_FLAVOUR настройки значение в случае.
django_mobile.cache.cache_page
& NBSP; То же, cache_page декоратора Django, но применяется vary_on_flavour до вид украшен django.views.decorators.cache.cache_page.
django_mobile.cache.vary_on_flavour
& NBSP; Декоратор создан из CacheFlavourMiddleware промежуточного.
django_mobile.cache.middleware.CacheFlavourMiddleware
& NBSP; Добавляет X-Вкус заголовок request.META в process_request и добавляет этот заголовок к ответу ['Вары'] в process_response.
Настройка
Есть некоторые моменты, доступные, которые позволяют настроить поведение Django-Mobile. Вот некоторые возможности, перечисленные:
MobileDetectionMiddleware
Встроенный промежуточного обнаружить, если пользователь с помощью мобильного браузера служил также в производстве, но далека от совершенства, а также реализованы в очень упрощенном виде. Вы можете безопасно удалить этот промежуточное в настройках и добавить свою собственную версию вместо этого. Просто убедитесь, что он называет django_mobile.set_flavour в какой-то момент, чтобы установить правильный вкус для вас.
Настройки
Вот список настроек, которые используются Django-Mobile и может быть изменена в вашем собственном settings.py:
Ароматы
Список доступных вкусов для вашего сайта.
По умолчанию: ('полный', 'мобильного')
DEFAULT_MOBILE_FLAVOUR
Аромат, который выбирают, если встроенный MobileDetectionMiddleware обнаруживает мобильный браузер.
По умолчанию: мобильный
FLAVOURS_TEMPLATE_PREFIX
Эта строка будет начинаться с именами шаблонов при поиске ароматизированных шаблонов. Это полезно, если у вас есть много ароматов и хотите, чтобы сохранить их в общей директории. Пример:
от django.template.loader импорта render_to_string
от django_mobile импорта set_flavour
set_flavour ("мобильный")
render_to_string ('index.html') # будет оказывать "мобильный / index.html"
# Теперь добавить к этому settings.py
FLAVOURS_TEMPLATE_PREFIX = 'ароматы /'
# и попробуй еще раз
set_flavour ("мобильный")
render_to_string ('index.html') # окажет "ароматы / мобильный / index.html"
По умолчанию: '' (пустая строка)
FLAVOURS_TEMPLATE_LOADERS
Шаблон погрузчик Django-Mobile можно загрузить шаблоны с префиксом текущего вкуса. Укажите с этой установкой, которая погрузчики используются для загрузки ароматизированные шаблоны.
По умолчанию: так же, как TEMPLATE_LOADERS месте, но без "django_mobile.loader.Loader".
FLAVOURS_GET_PARAMETER
Пользователи могут изменить вкус они хотят, чтобы смотреть на с параметром HTTP GET. Это определяет имя этого параметра. Установите его в None, чтобы отключить.
По умолчанию: 'вкус'
FLAVOURS_SESSION_KEY
Предпочтение пользователя устанавливается параметром GET хранится в сессии пользователя. Этот параметр определяет, какой ключ сеанса используется для хранения этой информации.
По умолчанию: 'вкус'

Что нового В этом выпуске:.

  • Добавлена ​​платформа признания

Что нового в версии 0.2.3:

  • Исправление: установить вкус во всех случаях, а не только если мобильный браузер обнаружено. Благодаря Джон П. Kiffmeyer для отчета.

Требования

  • Python
  • Джанго

Другие программы разработчика Gregor Mullegger

django-mobile
django-mobile

14 Apr 15

Комментарии к django-mobile-withstatic

Комментарии не найдены
добавить комментарий
Включите картинки!