django-mobile

Software screenshot:
django-mobile
Software ətraflı:
Version: 0.2.3
Tarixi Upload: 14 Apr 15
Geliştirici: Gregor Mullegger
Lisenziya: Pulsuz
Məşhurluq: 18

Rating: 5.0/5 (Total Votes: 1)

Django-mobile mobil tarayıcılar & nbsp aşkar etmək üçün sadə bir yol təqdim edir bir Django app edir və istifadəçi üçün saytın mobil versiyası çatdırmaq üçün bir neçə müxtəlif şablonlar göstərməyə əl siz tools verir.
fikir eyni fikir saxlamaq, lakin şəffaf cavab göstərmək üçün istifadə şablonları ideya deyil. Bu iki addım həyata keçirilir:
& Nbsp; 1. A middleware Sizin sayta keçirmək üçün müştərinin üstünlük müəyyən edir. Məsələn O, mobil ləzzət və ya tam masa üstü ləzzət istifadə etmək istəyirsə.
& Nbsp; 2. şablon loader sonra middleware aşkar ləzzət əsasında düzgün şablonları seçilməsi qayğı edir.
Quraşdırma
Pre-Tələblər: django_mobile Django iclası çərçivəsində asılıdır. Siz django_mobile istifadə sessiyaları çərçivəsində effektiv və iş əmin etmək üçün cəhd əvvəl Belə ki,.
& Nbsp; 1. Məsələn, sevimli python vasitəsi ilə django_mobile Install easy_install django_mobile və ya django_mobile bərpa tırtıl.
& Nbsp; 2. Settings.py qəbulu INSTALLED_APPS üçün django_mobile əlavə edin.
& Nbsp; 3. Sizin MIDDLEWARE_CLASSES qəbulu üçün django_mobile.middleware.MobileDetectionMiddleware əlavə edin.
& Nbsp; 4. Sizin MIDDLEWARE_CLASSES qəbulu üçün django_mobile.middleware.SetFlavourMiddleware əlavə edin. Bu MobileDetectionMiddleware sonra da SessionMiddleware sonra verilmişdir əmin olun.
& Nbsp; 5. Settings.py sizin TEMPLATE_LOADERS siyahısına birinci məsələ kimi django_mobile.loader.Loader əlavə edin.
& Nbsp; 6. Sizin TEMPLATE_CONTEXT_PROCESSORS qəbulu üçün django_mobile.context_processors.flavour əlavə edin.
İndi izzəti Django-mobil istifadə etmək lazımdır. Şeyi iş və parametrləri Django-mobil davranış dəyişdirmək üçün tweaked bilər necə aşağıda oxuyun.
istifadə
Django-mobil anlayışı sizin sayt üçün müxtəlif tatlar ideyalar ətrafında inşa edilir. Məsələn mobil versiyası bir mümkün ləzzət başqa kimi masa üstü versiyası kimi təsvir olunur.
Bu mümkün yalnız tam masa üstü təcrübə və mobil versiyası arasında fərqləndirici əvəzinə bir çox mümkün dizayn təmin edir. Siz birdən çox mobil tatlar mövcud məsələn edə bilərsiniz Mobil iPhone və Android safari, eləcə də Opera üçün bir və iPad kimi internet tablet üçün əlavə bir bir.
Qeyd: default Django mobil By yalnız tam və mobil ləzzət arasında fərqləndirir.
Düzgün ləzzət elə middlewares tərəfindən seçilmiş sonra, request.flavour atributu təyin edir. Siz ayrı-ayrı məntiq təmin etmək üçün views istifadə edə bilərsiniz.
Bu ləzzət sonra şəffaf bu xüsusi ləzzət üçün xüsusi şablonlar seçmək üçün istifadə olunur. Seçilmiş şablon, həqiqətən göstərmək istəyirəm şablon adı prefixed cari ləzzət var. Render_to_response (index.html ", ...) mobil ləzzət həqiqətən mobil / index.html şablon ilə göstərilən cavab qayıdacaqlar aktiv olan adlanır Bu deməkdir. Bu ətirli şablon mövcud deyil, əgər Lakin qəşəng default index.html şablon fallback olacaq.
Bəzi hallarda onun istədiyiniz yol hər ləzzət üçün tamamilə ayrı-ayrı şablonları var. Siz yalnız bir şablon kiçik aspektləri dəyişdirmək üçün {{ləzzət}} şablonu dəyişən istifadə edə bilərsiniz. Qısa nümunə:


& Nbsp; Mənim site {% əgər ləzzət == "mobil"%} (mobil versiyası) {% endif%}


& Nbsp; ...


Effektiv mobil ləzzət ilə tanış, bu sitenizin adı (mobil versiyası) əlavə edəcək.
Qeyd: django_mobile.context_processors.flavour kontekstində prosessor qurmaq və şablon göstərməyə kontekstində instansiya kimi Django nin RequestContext istifadə əgər ləzzət şablon dəyişən yalnız mövcuddur.
Cari ləzzət dəyişdirilməsi
Django-mobil əsas istifadə halda istifadəçilər üçün saytın mobil versiyası xidmət üçün açıq-aydın deyil. Öz views deyilir zaman doğru ləzzət seçilməsi adətən artıq middlewares edilir. Bəzi hallarda sizin keçirmək və ya başqa bir yerdə hazırda istifadə ləzzət dəyişdirmək istəyirik. Siz sadəcə django_mobile.set_flavour zəng edərək bu edə bilərsiniz (ləzzət [daimi = True]). ilk arqument özünü izah edir. Amma yalnız sizin Flavours qəbulu da bir ləzzət keçə bilər ki, unutmayın. Əks halda set_flavour bir ValueError çıxaracağıq. ləzzət dəyişiklik həmin müştəri gələcək istekleri üçün yadda əgər isteğe daimi parametrləri müəyyən edir.
Sizin users öz istədiyiniz ləzzət onlara özünü bilərsiniz. Onlar yalnız saytınıza bir xahişi ləzzət GET parametr müəyyən etmək lazımdır. Bu daimi site keçirmək üçün üstünlük kimi bu ləzzət seçəcək.
Siz istifadəçi mövcud tatlar seçin qoy bu GET parametr istifadə edə bilərsiniz:


    & Nbsp;
  • Tam təcrübə alın
    & Nbsp;
  • mobil versiyasına baxın
    & Nbsp;
  • Bizim iPad versiyası bax

    Reference
    django_mobile.get_flavour ([sorğu] [default])
    & Nbsp; hazırda aktiv ləzzət alın. Heç bir ləzzət müəyyən edilə bilər Əgər default qayıdacaqlar. Set_flavour cari sorğu-cavab dövrü əvvəl çağrılmadı, bu baş verə bilər. Flavours qəbulu ilk maddə default yetirilməməsi.
    django_mobile.set_flavour (ləzzət [sorğu] [daimi])
    & Nbsp; sorğu üçün istifadə olunacaq ləzzət seçin. Ləzzət Flavours qəbulu deyil, bu ValueError çıxaracağıq. Siz True daimi = keçərək tələbi üçün daimi ətirli etmək üçün cəhd edə bilərsiniz. Bir sorğu-cavab dövrü həyata əgər bu uğursuz ola bilər. Hal-hazırda aktiv sorğu yetirilməməsi tələb.
    django_mobile.context_processors.flavour
    & Nbsp; kontekstində ləzzət kimi cari ləzzət edir Context prosessor.
    django_mobile.context_processors.is_mobile
    & Nbsp; Bu əhatədə prosessor cari ləzzət DEFAULT_MOBILE_FLAVOUR qəbulu bərabərdir əgər True kontekstində bir is_mobile dəyişən əlavə edəcək.
    django_mobile.middlewares.SetFlavourMiddleware
    & Nbsp; əgər istifadəçi sessiya saxlanılır ləzzət loading qayğı edir. Həmçinin mövzu yerli dəyişən cari tələb edir. Bu istək obyekt daxil olmadan get_flavour () funksionallığı təmin etmək üçün tələb olunur.
    django_mobile.middlewares.MobileDetectionMiddleware
    & Nbsp; bir mobil brauzer site daxil olmaq üçün çalışır və halda parametrləri dəyər DEFAULT_MOBILE_FLAVOUR ləzzət edir əgər algılar.
    Özelleştirme
    Siz Django mobil davranışı özelleştirmek imkan mövcud bir xal var. Burada sadalanan bəzi imkanları var:
    MobileDetectionMiddleware
    mobil brauzer istifadə edərək, istifadəçi istehsalında yaxşı xidmət, lakin mükəmməl uzaq və həmçinin həyata keçirilən çox sadə şəkildə, əgər daxili middleware aşkar etmək üçün. Siz təhlükəsiz ayarları bu middleware aradan qaldırılması və əvəzinə öz versiyasını əlavə edə bilərsiniz. Yalnız sizin üçün doğru ətirli etmək üçün bir nöqtədə django_mobile.set_flavour çağırır ki, əmin olun.
    Ayarlar
    Burada Django-mobil istifadə edir və öz settings.py dəyişdirilə bilər ayarları siyahısı:
    Flavours
    Sizin sayt üçün mövcud tatlar siyahısı.
    Default: ("tam", "mobil)
    DEFAULT_MOBILE_FLAVOUR
    daxili MobileDetectionMiddleware mobil brauzer algılarsa seçilir ləzzət.
    Default: mobil
    FLAVOURS_TEMPLATE_PREFIX
    Ətirli şablonları üçün axtarış Bu string şablon adları prefixed olacaq. Bir çox tatlar və ortaq alt onları saxlamaq istəyirsinizsə, bu faydalıdır. Misal:
    django.template.loader idxal render_to_string dən
    django_mobile idxal set_flavour dən
    set_flavour (mobil)
    (index.html) # render_to_string göstərəcək mobil / index.html "
    # Indi settings.py üçün bu əlavə
    FLAVOURS_TEMPLATE_PREFIX = 'tatlar /
    # Və yenidən cəhd edin
    set_flavour (mobil)
    # göstərəcək render_to_string (index.html) "tatlar / mobil / index.html"
    Default: '' (boş string)
    FLAVOURS_TEMPLATE_LOADERS
    Django-mobil şablon loader cari ləzzət ilə prefixed şablonları yükləyə bilər. Yükləyicilər ətirli şablonları yüklemek üçün istifadə olunur, bu qəbulu ilə daxil.
    Default: qəbulu TEMPLATE_LOADERS lakin 'django_mobile.loader.Loader olmadan eyni.
    FLAVOURS_GET_PARAMETER
    Indi bir HTTP GET parametr ilə baxmaq istədiyiniz ləzzət dəyişə bilərsiniz. Bu parametr adı müəyyən edir. Aradan Yox seçin.
    Default: "ləzzət"
    FLAVOURS_SESSION_KEY
    GET parametr ilə müəyyən istifadəçi üstünlük istifadəçi iclasında saxlanılır. Bu parametr bu məlumatı saxlamaq üçün istifadə olunan iclası əsas müəyyən edir.
    Default: "ləzzət"

    Bu azad yeni nədir:

    • DÜZELTME: bütün hallarda müəyyən ləzzət deyil, yalnız mobil brauzer aşkar. Hesabat üçün John P. Kiffmeyer üçün təşəkkür edirik.

    nədir versiya 0.2.2-ci Yeni

    • DÜZELTME: Android Opera Mobile mobil kimi təsnif edilib browser. Hesabat üçün təşəkkür edirik dgerzo üçün.
    • kiçik mobil cihaz kimi tanınır almaq deyil ki, iPad üçün Sniffing. Patch üçün Ryan Showalter üçün təşəkkür edirik.

    nədir versiya 0.2.1-ci Yeni

    • django_mobile daxil etməyib Sabit qablaşdırma məsələləri .cache paketi. Hesabat üçün Scott Turnbull üçün təşəkkür edirik.

    nədir versiya 0.2.0-ci Yeni

    • Restrukturizasiya layihə layout settings.py aradan qaldırılması və idarə yüksək səviyyəli kataloq .py. Pip e seçimi ilə yüklerken Bu modul adı münaqişələrin həll edir. Hesabat üçün təşəkkür edirik bendavis78 üçün.
    • Django nin cache_page emulates, lakin nəzərə tatlar edir ki, cache_page decorator Added. caching sistemi başqa bir cache miss zaman Hal-hazırda aktiv olan ləzzət cache olardı. Hesabat üçün təşəkkür edirik itmustbejj üçün.
    • tatlar Django nin caching middlewares xəbərdar edir ki, bir CacheFlavourMiddleware Added. Biz the cavab mövzu və X-Flavour istek mövzu Vary interally istifadə edin.

    nədir versiya 0.1.4-ci Yeni

    • yalnız həyata şablon loader Sabit məsələ load_template_source lakin load_template yoxdur. Hesabat üçün təşəkkür edirik, tylanpince rwilcox və Frederic Roland üçün.

    nədir versiya 0.1.3-ci Yeni

    • runserver komanda ilə Sabit məsələ ele deyil ki, bir-birindən independed bütün istek. Hesabat üçün təşəkkür edirik bclermont və Frederic Roland üçün.

    nədir versiya 0.1.2-ci Yeni:.

    • SetFlavourMiddleware Sabit unreferenced dəyişən səhv

    versiya 0.1.1 yeni nədir:

    • django_mobile.loader.Loader Sabit is_usable atributu. Məlumat üçün təşəkkür edirik Michela Ledwidge.

    tələblər

    • Python
    • Django

Geliştirici digər proqram Gregor Mullegger

Şərh django-mobile

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!