django-mobile-withstatic

Screenshot Software:
django-mobile-withstatic
Detalii soft:
Versiune: 0.2.4
Incarca data: 20 Feb 15
Producător: Gregor Mullegger
Licenţă: Gratuit
Popularitate: 0

Rating: 5.0/5 (Total Votes: 1)

django-mobil este o aplicatie Django care oferă o modalitate simplă de a detecta browsere mobile și vă oferă instrumentele la indemana pentru a face unele șabloane diferite pentru a oferi o versiune mobilă a site-ului dvs. pentru utilizator.
Ideea este de a menține opiniile exact la fel, dar a schimbați transparent șabloanele folosite pentru a face un răspuns. Acest lucru se face în două etape:
1. Un middleware determină preferința clientului pentru a vizualiza site-ul dumneavoastră. De ex dacă vrea să folosească aroma mobil sau aroma complet desktop.
2. loader șablon are apoi grijă de a alege modelele corecte pe baza aroma detectată în middleware.
Instalare
Pre-Cerințe: django_mobile depinde cadru sesiune Django lui. Deci, înainte de a încerca să utilizați django_mobile a vă asigura că acest cadru sesiuni este activată și lucrează.
1. Instalați django_mobile cu unealta python preferat, de exemplu, cu easy_install django_mobile sau Pip instala django_mobile.
2. Adăugați django_mobile la INSTALLED_APPS dvs. de stabilire în settings.py.
3. Se adaugă django_mobile.middleware.MobileDetectionMiddleware la setarea MIDDLEWARE_CLASSES.
4. Adăugați django_mobile.middleware.SetFlavourMiddleware la setarea MIDDLEWARE_CLASSES. Asigurați-vă că este listat după MobileDetectionMiddleware și, de asemenea, după SessionMiddleware.
5. Adauga django_mobile.loader.Loader ca prima element la lista TEMPLATE_LOADERS în settings.py.
6. Adăugați django_mobile.context_processors.flavour la setarea TEMPLATE_CONTEXT_PROCESSORS.
Acum ar trebui să poată utiliza django-mobil în glorie. Citește mai jos de cum merg lucrurile și care setări pot fi optimizat pentru a modifica comportamentul django-mobil.
Utilizare
Conceptul de django-mobil este construit în jurul ideilor de diferite arome pentru site-ul tău. De exemplu, versiunea mobilă este descris ca o aromă posibil, versiunea desktop ca altul.
Acest lucru face posibilă pentru a oferi mai multe modele posibile în loc de doar diferențiere între o experiență desktop complet și o versiune mobilă. Puteți face mai multe arome mobile disponibile de exemplu, una pentru safari mobile de pe iPhone și Android, precum și una pentru Opera și unul suplimentar pentru tabletele de internet, cum ar fi iPad.
Notă: În mod implicit django-mobil distinge numai între gust plin și mobile.
După aroma corect este oarecum ales de middleware, este atribuit atributul request.flavour. Puteți folosi acest lucru în opinia dumneavoastră pentru a oferi logica separat.
Această aromă este apoi utilizați pentru a alege în mod transparent template-uri personalizate pentru această aromă specială. Modelul selectat va avea aroma curent prefixat la numele șablonului chiar vrei să facă. Acest lucru înseamnă că atunci când render_to_response ("index.html", ...), este numit cu aroma mobil fiind activ va reveni de fapt un răspuns prestate cu modelul mobil / index.html. Totuși, dacă acest șablon aromat nu este disponibil, va alternative în grațios la șablonul implicit index.html.
În unele cazuri, sa nu calea dorită de a avea o template complet separate pentru fiecare aromă. Puteți folosi, de asemenea, {{}} aromă variabila șablon pentru a schimba doar aspecte mici de un singur model. Un exemplu scurt:


& Nbsp; Site-ul meu {% dacă aromă == "mobil"%} (versiunea pentru mobil) {% endif%}


& Nbsp; ...


Aceasta va adăuga (versiune mobil) la titlul de site-ul dvs., dacă au văzut cu aroma mobil activat.
Notă: Variabila șablon aromă este disponibilă numai dacă ați configurat procesorul context django_mobile.context_processors.flavour și utilizate RequestContext Django ca exemplu context pentru a face modelul.
Schimbarea aroma curent
Cazul de utilizare de bază a django-mobil este, evident, de a servi o versiune mobilă a site-ului dvs. pentru utilizatori. Selectarea aroma corect este, de obicei deja face în middleware, când propriile opinii sunt numite. În unele cazuri, doriți să schimbați aroma utilizate în prezent în vederea sau în altă parte. Puteți face acest lucru prin simpla apel django_mobile.set_flavour (aromă [, permanent = True]). Primul argument este de sine explică. Dar tineti cont de faptul că doar tu poți trece într-o aromă care tine este, de asemenea, în setarea FLAVOURS. În caz contrar, set_flavour va ridica un ValueError. Parametrii permanente optionale definește dacă schimbarea aroma este aminti pentru cereri viitoare ale aceluiași client.
Utilizatorii pot seta aroma dorită lor de sine. Ei au nevoie doar să specificați parametrul aromă GET la o cerere de site-ul dumneavoastră. Acest lucru va alege permanent această aromă ca preferinta lor pentru a vedea site-ul.
Puteți utiliza acest parametru GET pentru a permite utilizatorului selectare din arome disponibile:


Note despre caching
Django este de transport maritim cu unele metode de cartier la cache cu ușurință opiniile dumneavoastră. Una dintre ele este django.views.decorators.cache.cache_page. Problema cu cache o pagină întreagă în legătură cu django-mobil este, sistem de caching că Django nu este conștient de arome. Acest lucru înseamnă că, în cazul în care prima cerere a unei pagini este servit cu o aromă mobil, a doua solicitare ar putea primi, de asemenea, o pagină prestate cu aroma mobil de la cache - chiar dacă a doua a fost solicitată de un browser desktop.
django-mobil este de transport maritim cu propria sa implementare a cache_page pentru a rezolva această problemă. Va rugam sa folositi django_mobile.cache.cache_page în loc de propria decorator cache_page Django lui.
Puteți folosi, de asemenea, Django lui middleware cache django.middleware.cache.UpdateCacheMiddleware și FetchFromCacheMiddleware ca tine deja. Dar pentru a le face conștienți de arome, trebuie să adăugați django_mobile.cache.middleware.CacheFlavourMiddleware ca al doilea ultim element în setările MIDDLEWARE_CLASSES, chiar înainte FetchFromCacheMiddleware.
referință
django_mobile.get_flavour ([cerere,] [implicit])
& Nbsp; Ia aroma activ. Dacă nu aromă poate fi determinată se va reveni implicit. Acest lucru se poate întâmpla dacă set_flavour nu a fost chemat în fața în ciclul cerere-răspuns curent. implicit implicite la primul element în stabilirea FLAVOURS.
django_mobile.set_flavour (aromă, [cerere,] [permanent])
& Nbsp; Setați aroma să fie utilizate pentru cerere. Acest lucru va ridica ValueError dacă aroma nu este in stabilirea FLAVOURS. Puteți încerca să setați aroma permanent pentru solicitarea prin trecerea = permanente Adevărat. Acest lucru poate eșua dacă sunteți dintr-un ciclu cerere-răspuns. solicită implicit cererea curent activ.
django_mobile.context_processors.flavour
& Nbsp; procesor de context care adauga aroma curent ca aroma de context.
django_mobile.context_processors.is_mobile
& Nbsp; Acest procesor context va adăuga o variabilă is_mobile la contextul care este True dacă aroma curent este egal cu setarea DEFAULT_MOBILE_FLAVOUR.
django_mobile.middleware.SetFlavourMiddleware
& Nbsp; ia grijă de încărcare aroma stocate de sesiune utilizatorului dacă este setat. Stabilește, de asemenea cererea curentă a unei variabile-fir locală. Acest lucru este necesar pentru a furniza get_flavour () funcționa fără a avea acces la obiect cerere.
django_mobile.middleware.MobileDetectionMiddleware
& Nbsp; Detectează dacă un browser mobil încearcă să acceseze site-ul și stabilește aroma de DEFAULT_MOBILE_FLAVOUR valoare setări în caz.
django_mobile.cache.cache_page
& Nbsp; La fel ca cache_page decorator Django, dar se aplică vary_on_flavour înainte de vedere este decorat cu django.views.decorators.cache.cache_page.
django_mobile.cache.vary_on_flavour
& Nbsp; A decorator creat de middleware CacheFlavourMiddleware.
django_mobile.cache.middleware.CacheFlavourMiddleware
& Nbsp; în afara Adună X-Aromă de request.META în process_request și adaugă acest antet a răspuns ['Vary'] în process_response.
Personalizare
Există unele puncte disponibile, care vă permit să personalizați comportamentul-Django mobil. Iată câteva posibilități enumerate:
MobileDetectionMiddleware
Middleware built-in pentru a detecta dacă utilizatorul este folosind un browser mobil a servit bine în producție, dar este departe de a fi perfectă și, de asemenea, puse în aplicare într-un mod simplist. Aveți posibilitatea să eliminați în siguranță acest middleware de la setările si adaugati propria versiune în schimb. Doar asigurați-vă că îl numește django_mobile.set_flavour la un moment dat pentru a seta aroma corect pentru tine.
Setări
Aici este o listă de setări care sunt utilizate de către django-mobil și poate fi modificată în propria settings.py:
FLAVOURS
O listă de arome disponibile pentru site-ul tău.
Implicit: ("full", "mobil")
DEFAULT_MOBILE_FLAVOUR
Aroma care este ales în cazul în care built-in MobileDetectionMiddleware detectează un browser mobil.
Implicit: mobil
FLAVOURS_TEMPLATE_PREFIX
Acest șir va fi prefixat la numele șablon atunci când caută pentru șabloane aromate. Acest lucru este util dacă aveți mai multe arome și doriți să le păstrați într-un subdirector comun. Exemplu:
de la render_to_string django.template.loader import
de la set_flavour import django_mobile
set_flavour ("mobil")
render_to_string ("index.html") # va face "mobil / index.html"
# Acum adăuga acest la settings.py
FLAVOURS_TEMPLATE_PREFIX = 'arome / "
# Și încercați din nou
set_flavour ("mobil")
render_to_string ("index.html") # va face "arome / mobile / index.html"
Implicit: '' (string gol)
FLAVOURS_TEMPLATE_LOADERS
Încărcător șablon django-mobil pot încărca șabloane prefixate cu aroma curent. Precizați cu această setare care Incarcator sunt folosite pentru a încărca șabloane aromate.
Implicit: la fel ca TEMPLATE_LOADERS stabilind, dar fără "django_mobile.loader.Loader".
FLAVOURS_GET_PARAMETER
Utilizatorii pot schimba aroma care doresc să se uite la cu un parametru HTTP GET. Aceasta determină numele acestui parametru. Setați-l la Fără pentru a dezactiva.
Implicit: "aromă"
FLAVOURS_SESSION_KEY
Preferința utilizatorului set cu parametrul GET este stocat în sesiunea utilizatorului. Această setare determină care cheie de sesiune este folosit pentru a ține această informație.
Implicit: "aromă"

Ce este nou în această versiune:.

  • platformă Adaugata de recunoaștere

Ce este nou în versiunea 0.2.3:

  • FIX: set aromă, în toate cazurile, nu numai dacă este detectat un browser mobil. Datorită John P. Kiffmeyer pentru raport.

Cerințe :

  • Python
  • Django

Alte software-uri de dezvoltator Gregor Mullegger

django-mobile
django-mobile

14 Apr 15

Comentarii la django-mobile-withstatic

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!