django-mobile-withstatic

소프트웨어 스크린 샷:
django-mobile-withstatic
소프트웨어 정보:
버전: 0.2.4
업로드 날짜: 20 Feb 15
개발자: Gregor Mullegger
라이센스: 무료
인기: 11

Rating: 5.0/5 (Total Votes: 1)

장고 모바일은 모바일 브라우저를 감지하는 간단한 방법을 제공하고 사용자에게 귀하의 사이트의 모바일 버전을 제공하기 위해 몇 가지 다른 템플릿을 렌더링하기 위해 당신의 손에 당신에게 도구를 제공 장고 응용 프로그램입니다.
아이디어는 똑같은하여 뷰를 유지하지만 투명 응답을 렌더링하는 데 사용되는 템플릿을 교환하는 것이다. 이 작업은 두 단계로 수행됩니다
1. 미들웨어는 귀하의 사이트를 볼 수있는 클라이언트의 설정을 결정합니다. 예를 들면 그는 이동 맛이나 풍미 전체 데스크탑을 사용하고자하는 경우.
2. 템플릿 로더는 미들웨어에서 검출 맛에 기초하여 올바른 템플릿을 선택하는 후 처리한다.
설치
사전 요구 사항 : django_mobile 장고의 세션 프레임 워크에 따라 달라집니다. 당신이 django_mobile 사용하는 세션 프레임 워크가 사용 가능하고 작동하는지 확인하기 전에 그래서.
1. 예를 들어 좋아하는 파이썬 도구로 django_mobile 설치 easy_install을 django_mobile 또는 django_mobile를 설치 PIP.
2. settings.py에 설정하여 INSTALLED_APPS에 django_mobile를 추가합니다.
3. MIDDLEWARE_CLASSES 설정으로 django_mobile.middleware.MobileDetectionMiddleware를 추가합니다.
4. MIDDLEWARE_CLASSES 설정으로 django_mobile.middleware.SetFlavourMiddleware를 추가합니다. 이 MobileDetectionMiddleware 후도 SessionMiddleware 다음에 나열하는지 확인하기.
5. settings.py에서 TEMPLATE_LOADERS 목록에 첫 번째 항목으로 django_mobile.loader.Loader를 추가합니다.
6. TEMPLATE_CONTEXT_PROCESSORS 설정으로 django_mobile.context_processors.flavour를 추가합니다.
지금 당신은 영광 장고 모바일을 사용할 수 있어야합니다. 사물이 작동하고있는 설정이 장고 모바일의 동작을 수정하기 불통 될 수있는 방법은 아래 설명을 참조하시기 바랍니다.
용법
장고 모바일의 개념은 귀하의 사이트에 대한 다른 맛의 아이디어를 중심으로 구축이다. 예를 들어 모바일 버전은 하나의 가능한 맛 등의 다른 데스크톱 버전으로 설명한다.
이로써, 단지 전체 데스크탑 경험 한 모바일 버전을 구별하지 않고 여러 가지 설계를 제공 할 수있다. 여러 모바일 맛을 사용할 수 예를 만들 수 있습니다 모바일 아이폰과 안드로이드에 사파리뿐만 아니라 오페라 하나는 아이 패드와 같은 인터넷 정제를위한 별도의 하나 하나.
참고 : 장고 모바일 기본은 전체 및 모바일 맛을 구분하여.
올바른 맛이 어떻게 든 미들웨어가 선택한 후에는 request.flavour 속성에 할당합니다. 당신은 별도의 로직을 제공하기 위해 뷰에서이를 사용할 수 있습니다.
이 맛은 투명이 특별한 맛에 대한 사용자 정의 템플릿을 선택하는 데 사용됩니다. 선택한 템플릿이 실제로 렌더링 할 템플릿 이름에 접두어로 현재의 맛을해야합니다. 에는 render_to_response ( 'index.html을', ...) 모바일 맛 실제로 모바일 / index.html을 템플릿으로 렌더링 된 응답을 반환합니다 활동적인 호출 될 때 의미한다. 이 맛 템플릿을 사용할 수없는 경우는 정상적으로 기본 index.html을 템플릿에 폴백합니다.
어떤 경우에는 해당되지 원하는 방법은 각 맛에 대해 완전히 분리 된 템플릿을해야합니다. 또한 단 하나의 템플릿의 작은 부분을 변경하려면 {{맛}} 템플릿 변수를 사용할 수 있습니다. 짧은 예 :

<헤드>
& NBSP; <제목> 내 사이트 {%의 경우 맛 == "모바일"%} (모바일 버전) {%의 ENDIF의 %}


& NBSP; ...


활성화 된 모바일 맛 볼 경우이 사이트의 제목 (모바일 버전)를 추가합니다.
참고 : django_mobile.context_processors.flavour 컨텍스트 프로세서를 설정하고 템플릿을 렌더링하기 위해 컨텍스트 인스턴스로 장고의 RequestContext를 사용한 경우 맛 템플릿 변수에만 사용할 수 있습니다.
현재 맛을 변경
장고 모바일의 기본 유스 케이스는 사용자에게 사이트의 모바일 버전을 제공하기 위해 분명하다. 자신의 견해가 호출 될 때 올바른 맛의 선택은 일반적으로 이미 미들웨어에서 이루어집니다. 어떤 경우에는 당신은 당신의보기 또는 다른 곳에서 현재 사용 맛을 변경하고 싶습니다. 당신은 단순히 django_mobile.set_flavour 호출하여이 작업을 수행 할 수 있습니다 (맛을 [영구 = TRUE). 첫 번째 인자는 자기가 설명된다. 그러나 당신은 당신이 당신의 풍미 설정에서 또한 맛을 전달할 수 있다는 점에 유의하십시오. 그렇지 않으면 set_flavour는 ValueError를 인상합니다. 맛의 변화가 같은 클라이언트의 미래의 요청에 기억되어있는 경우 옵션 영구 매개 변수를 정의합니다.
사용자는 원하는 맛 그 자체를 설정할 수 있습니다. 그들은 귀하의 사이트에 대한 요청에 맛 GET 매개 변수를 지정해야합니다. 이 영구적으로 사이트를 볼 수 있도록 자신의 환경 설정으로이 맛을 선택합니다.
당신은 사용자가 사용 가능한 맛을 선택할 수 있도록이 GET 매개 변수를 사용할 수 있습니다 :


    & NBSP;
  • 전체 경험을 얻기
    & NBSP;
  • 모바일 버전보기
    & NBSP;
  • 우리의 아이 패드 버전으로보기

캐싱에 대한 참고 사항
장고는 쉽게보기를 캐싱 할 편리한 방법으로 출하하고있다. 그 중 하나는 django.views.decorators.cache.cache_page입니다. 장고 이동과 함께 전체 페이지를 캐싱 문제는 장고 캐싱 시스템은 맛 인식하지된다. 두 번째는 데스크톱 브라우저에 의해 요청 된 경우에도 -이 페이지에 대한 첫 번째 요청이 모바일 풍미와 함께 제공되는 경우, 두 번째 요청도 캐시에서 모바일 맛 렌더링 된 페이지를 얻을 수 있음을 의미합니다.
장고 모바일이 문제를 해결하기 위해 cache_page의 그것의 자신의 구현으로 출하하고있다. django_mobile.cache.cache_page 대신 장고 자신의 cache_page 데코레이터를 사용하십시오.
이미처럼 당신은 또한 장고의 캐싱 미들웨어 django.middleware.cache.UpdateCacheMiddleware 및 FetchFromCacheMiddleware를 사용할 수 있습니다. 그러나 맛을 그들이 인식하도록, 당신 말이 FetchFromCacheMiddleware 전에 MIDDLEWARE_CLASSES 설정에서 마지막에서 두 번째 항목으로 django_mobile.cache.middleware.CacheFlavourMiddleware를 추가해야합니다.
참고
django_mobile.get_flavour ([요청] [기본])
& NBSP; 현재 활성화 된 맛을 가져옵니다. 어떤 맛을 판별 할 수있는 경우는 기본값을 반환합니다. set_flavour 현재 요청 - 응답주기 전에 호출되지 않은 경우 발생할 수 있습니다. 풍미 설정의 첫 번째 항목에 기본으로 기본 설정됩니다.
django_mobile.set_flavour (맛, [요청] [영구])
& NBSP; 요청에 사용되는 맛을 설정한다. 맛이 풍미 환경이 아닌 경우 ValueError를 인상합니다. 당신은 진정한 영구 = 전달하여 요청에 대해 영구적으로 맛을 설정하려고 할 수 있습니다. 당신이 요청 - 응답주기를 벗어난 경우 실패 할 수 있습니다. 현재 활성화 된 요청에 기본값을 요청합니다.
django_mobile.context_processors.flavour
& NBSP; 컨텍스트 맛으로 맛을 현재 컨텍스트에 추가 프로세서.
django_mobile.context_processors.is_mobile
& NBSP;이 컨텍스트 프로세서는 현재의 맛 DEFAULT_MOBILE_FLAVOUR 설정을 동일한 경우 True 인 상황에 is_mobile 변수를 추가합니다.
django_mobile.middleware.SetFlavourMiddleware
& NBSP는; 설정하면 사용자의 세션에서 저장 맛을 로딩을 처리합니다. 또한 스레드 로컬 변수에 현재 요청을 설정합니다. 이는 상기 요청 개체에 대한 액세스를하지 않고 get_flavour () 기능을 제공하기 위해 필요하다.
django_mobile.middleware.MobileDetectionMiddleware
& NBSP는, 모바일 브라우저가 사이트에 액세스하려고하고 경우에 설정 값을 DEFAULT_MOBILE_FLAVOUR하는 맛을 설정하면 감지합니다.
django_mobile.cache.cache_page
& NBSP; 뷰가 django.views.decorators.cache.cache_page 장식하기 전에 장고의 cache_page의 장식과 동일하지만 vary_on_flavour을 적용합니다.
django_mobile.cache.vary_on_flavour
& NBSP; CacheFlavourMiddleware 미들웨어에서 생성 한 장식.
django_mobile.cache.middleware.CacheFlavourMiddleware
& NBSP는; process_request에 request.META에 추가 X-풍미 헤더와는 process_response에 [ '바리'] 응답이 헤더를 추가합니다.
사용자 지정
당신이 장고 모바일의 동작을 사용자 정의 할 수 사용 가능한 몇 가지 포인트가 있습니다. 여기에 나열된 몇 가지 가능성이 있습니다 :
MobileDetectionMiddleware
모바일 브라우저를 사용하는 사용자가 생산에 훨씬 잘 제공하지만 완벽한 구현에서, 또한 매우 단순한 방식의 경우 기본 미들웨어 검출한다. 안전하게 설정에서이 미들웨어를 제거하고 대신 자신의 버전을 추가 할 수 있습니다. 그냥 당신을 위해 올바른 맛을 설정하기 위해 어떤 점에서 django_mobile.set_flavour 호출해야합니다.
설정
여기 장고 모바일에서 사용하는 자신 만의 settings.py에서 변경 될 수있는 설정의 목록입니다 :
풍미
귀하의 사이트에 사용할 수 맛의 목록입니다.
기본값 : ( '전체', '모바일')
DEFAULT_MOBILE_FLAVOUR
내장 MobileDetectionMiddleware가 모바일 브라우저를 감지 한 경우 선택된 향기.
기본값 : 모바일
FLAVOURS_TEMPLATE_PREFIX
맛 템플릿을 검색 할 때이 문자열은 템플릿 이름에 접두어됩니다. 당신이 많은 맛을 가지고 공통의 하위 디렉토리에 저장하려는 경우에 유용합니다. 예 :
django.template.loader 수입 render_to_string에서
django_mobile 수입 set_flavour에서
set_flavour (이동형)
( 'index.html을') #을 render_to_string하는 렌더링 '모바일 / index.html을'
# 이제 settings.py이 추가
FLAVOURS_TEMPLATE_PREFIX = '맛 /'
# 다시 시도
set_flavour (이동형)
# 렌더링합니다 render_to_string ( 'index.html을') '의 맛을 / 모바일 / index.html을'
기본값 : ''(빈 문자열)
FLAVOURS_TEMPLATE_LOADERS
장고 모바일의 템플릿 로더는 현재의 향기로 시작 템플릿을로드 할 수 있습니다. 로더 맛 템플릿을로드하는 데 사용되는이 설정으로 지정합니다.
기본값 : 설정 TEMPLATE_LOADERS 그러나 'django_mobile.loader.Loader'없이 동일합니다.
FLAVOURS_GET_PARAMETER
사용자는 HTTP의 GET 매개 변수를보고 싶지 맛을 변경할 수 있습니다. 이이 매개 변수의 이름을 결정합니다. 비활성화 할 수 없음으로 설정하십시오.
기본값 : '맛'
FLAVOURS_SESSION_KEY
GET 매개 변수를 설정 한 사용자의 기본 설정은 사용자의 세션에 저장됩니다. 이 설정은이 정보를 저장하는 데 사용되는 세션 키를 결정합니다.
기본값 : '맛'

이 릴리스의 새로운 기능입니다 :

이 추가 된 플랫폼을 인식.

이 버전 0.2.3의 새로운 기능 :

이 FIX : 모든 경우에 설정 맛​​, 모바일 브라우저가 검출되지 경우에만 가능합니다. 보고서의 존 P. Kiffmeyer 감사합니다.

이 요구 사항 :

이 파이썬
장고

개발자의 기타 소프트웨어 Gregor Mullegger

django-mobile
django-mobile

14 Apr 15

코멘트 django-mobile-withstatic

댓글을 찾을 수 없습니다
코멘트를 추가
이미지를 켜십시오!