django-mobile-withstatic

ソフトウェアのスクリーンショット:
django-mobile-withstatic
ソフトウェアの詳細:
バージョン: 0.2.4
日付のアップロード: 20 Feb 15
開発者: Gregor Mullegger
ライセンス: 無料
人気: 11

Rating: 5.0/5 (Total Votes: 1)

ジャンゴ·モバイルは、モバイルブラウザを検出するための簡単​​な方法を提供し、ユーザーにあなたのサイトのモバイル版を提供するために、いくつかの異なるテンプレートをレンダリングするためにあなたの手であなたのツールを提供しDjangoのアプリです。
考え方は全く同じあなたの意見を保つことが、透過的にレスポンスをレンダリングするために使用するテンプレートを交換することです。これは2段階で行われます。
1.ミドルウェアは、あなたのサイトを表示するには、クライアントの好みを決定します。例えば彼は、モバイルフレーバーまたは完全なデスクトップ風味を使用したい場合。
2.テンプレートローダはその後ミドルウェアで検出された味に基づいて正しいテンプレートを選択するの面倒を見る。
<強い>インストールの
事前要件:django_mobileはDjangoのセッションフレームワークに依存します。あなたが使用しようとする前にdjango_mobileセッションの枠組みが有効で、動作していることを確認してください。
1.例えば、お気に入りのPythonツール、とdjango_mobileインストールeasy_installをdjango_mobileやピップでdjango_mobileをインストールしてください。
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を追加します。
今、あなたはその栄光のジャンゴ - モバイルを使用することができるはずです。物事の仕組みの下に読み、その設定はジャンゴ-Mobileの動作を変更するために調整することができます。
の使用法
ジャンゴ·モバイルの概念はあなたのサイトの異なるフレーバーのアイデアを中心に構築しています。例えば、モバイル版は一つの可能​​な味、別のデスクトップ版と記載されている。
これにより、単に完全なデスクトップエクスペリエンスと1つのモバイルバージョンを区別するのではなく、多くの可能な設計を提供することができる。あなたは、例えば、複数のモバイルのフレーバーを使用できるようにすることができますモバイルiPhoneとAndroidのSafariなどオペラの1とiPadのようなインターネットタブレットのための余分な1のための1。
注:のデフォルトのジャンゴ - モバイルBYは唯一のフルとモバイル味を区別します。
正しい味が何らかのミドルウェアによって選ばれた後、それはrequest.flavour属性に割り当てられている。あなたは、独立したロジックを提供するために、あなたのビューでこれを使用することができます。
この味は、次に透過的にこの特別な味のためにカスタムテンプレートを選択するために使用されている。選択したテンプレートを使用すると、実際にレンダリングしたいテンプレート名の前に付け、現在の味を持つことになります。 render_to_response( 'index.htmlを'、...)モバイル味が実際にモバイル/ index.htmlをテンプレートでレンダリング応答を返すでしょうアクティブでで呼び出されたときにこれが意味します。この風味のテンプレートが利用できない場合しかし、それは優雅に、デフォルトのindex.htmlをテンプレートにフォールバックします。
いくつかのケースでは、そのこと所望の方法は、それぞれの味のために完全に別のテンプレートを持っている。また、単一のテンプレートの小さな側面を変更するには{{味}}テンプレート変数を使用することができます。簡単な例:


&NBSP; <タイトル>私のサイト{%が味場合== "モバイル"%}(モバイル版){%endifの%}

<身体>
&NBSP; ...


対応携帯味で表示場合、これはあなたのサイトのタイトルに(モバイル版)を追加します。
注:の風味テンプレート変数を使用すると、django_mobile.context_processors.flavourコンテキストプロセッサを設定し、テンプレートをレンダリングするコンテキストインスタンスとしてDjangoのRequestContextのを使用している場合にのみ使用可能です。
現在の味を変える
ジャンゴ·モバイルの基本的なユースケースは、ユーザーにあなたのサイトのモバイル版を提供するために明らかにされる。独自のビューが呼び出されたときに正しい味の選択は、通常はすでにミドルウェアで行われます。いくつかのケースでは、あなたのビューまたはどこか他の場所で現在使用されて風味を変更したい。あなたは、単に(味[永久= TRUE])をdjango_mobile.set_flavour呼び出すことによってこれを行うことができます。最初の引数は、自己説明している。しかし、あなたは唯一のあなたのFLAVOURS設定でもある味に渡すことができることに留意してください。そうしないとset_flavourはValueErrorを送出します。味の変化は同じクライアントの将来の要求のために覚えている場合は、オプションの永続的なパラメータが定義されています。
ユーザーは自分の所望の風味それら自己を設定することができます。彼らはただあなたのサイトへの要求に風味GETパラメータを指定する必要があります。これは恒久的にサイトを表示するために彼らの好みとしてこの味を選択します。
あなたは、ユーザーが利用可能な風味から選択できるようにするために、このGETパラメータを使用することができます。


    &NBSP;
  • 完全な経験を取得します。
    &NBSP;
  • 私たちのモバイル版を見る
    &NBSP;
  • 私たちのiPad版を見る

キャッシングについての注意
Djangoは簡単にあなたの意見をキャッシュするためにいくつかの便利なメソッドで出荷されています。その一つはdjango.views.decorators.cache.cache_pageある。ジャンゴ·モバイルと連携してページ全体をキャッシュすることの問題点は、Djangoのキャッシュシステムは、味を認識していないこと、である。第二1は、デスクトップブラウザによって要求された場合であっても - これは、ページへの最初の要求は、モバイル香りを添えている場合、第二の要求もキャッシュからモバイル味でレンダリングされたページを取得する可能性があることを意味します。
ジャンゴ-Mobileは、この問題を解決するためにcache_pageのそれ自身の実装で出荷されています。 django_mobile.cache.cache_pageの代わりに、Djangoの独自のcache_pageデコレータを使用してください。
あなたは既にやるようにまた、Djangoのキャッシュミドルウェアdjango.middleware.cache.UpdateCacheMiddlewareとFetchFromCacheMiddlewareを使用することができます。しかし、味のそれらを認識させるために、あなたは正しいFetchFromCacheMiddleware前に、MIDDLEWARE_CLASSES設定で第二の最後の項目としてdjango_mobile.cache.middleware.CacheFlavourMiddlewareを追加する必要があります。
の参照
django_mobile.get_flavour([要求、] [デフォルト])
&NBSP;現在アクティブな味を取得します。全く味が決定できない場合は、デフォルトを返します。 set_flavourが現在の要求応答サイクルで前に呼び出されなかった場合に発生することがあります。 FLAVOURS設定の最初の項目にデフォルトのデフォルトは。
django_mobile.set_flavour(味、[要求、] [永久])
&NBSP;リクエストに使用される風味を設定します。味はFLAVOURS設定されていない場合、これは送出を発生させます。あなたは真の恒久=を渡すことによって、要求のための恒久的な風味を設定しようとすることができます。あなたが要求応答サイクルから外れている場合、これは失敗することがあります。現在アクティブなリクエストにデフォルトを要求する。
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のcache_pageデコレータと同じですが、ビューがdjango.views.decorators.cache.cache_pageで飾られている前にvary_on_flavourが適用されます。
django_mobile.cache.vary_on_flavour
&NBSP; CacheFlavourMiddlewareミドルウェアから作成デコレータ。
django_mobile.cache.middleware.CacheFlavourMiddleware
&NBSPは、process一でrequest.METAに追加するX-フレーバーヘッダとはprocess_responseに['ヴァリ']応答にこのヘッダーを追加します。
のカスタマイズ
あなたはジャンゴ·モバイルの動作をカスタマイズしましょう​​利用可能ないくつかのポイントがあります。ここに記載されているいくつかの可能性は以下のとおりです。
MobileDetectionMiddleware
ユーザーが携帯電話のブラウザを使用しているかどうかを検出する組み込みミドルウェアは、生産でよく務めたが完璧にはほど遠いとも非常に単純化した方法で実装されている。あなたは安全にお使いの設定からこのミドルウェアを削除し、代わりに独自のバージョンを追加することができます。ちょうどそれがあなたのために正しい味を設定するためにいくつかの点でdjango_mobile.set_flavour呼び出すことを確認してください。
[設定]
ここではジャンゴ·モバイルで使用されていると、自分settings.pyで変更できる設定のリストは、次のとおりです。
FLAVOURS
あなたのサイトのために利用可能なフレーバのリスト。
デフォルト:( 'フル'、 '携帯電話')
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
ジャンゴ-Mobileのテンプレートローダは、現在の味を付けたテンプレートを読み込むことができます。ローダー風味のテンプレートをロードするために使用されるこの設定で指定します。
デフォルト:設定TEMPLATE_LOADERSとしてではなく「django_mobile.loader.Loader」せずに同じ。
FLAVOURS_GET_PARAMETER
ユーザーは、HTTPのGETパラメータで見てみたい味を変更することができます。これは、このパラメータの名前を決定します。無効にするには、[なし]に設定します。
既定値: 'フレーバー」
FLAVOURS_SESSION_KEY
GETパラメータで設定したユーザの嗜好は、ユーザーのセッションに保存されます。この設定は、この情報を保持するために使用されるセッション鍵を判定する。
既定値: 'フレーバー'

の新機能であるの今回のリリースで:

  • を追加しましたプラットフォームを認識します。

のバージョン0.2.3でのの新機能:

  • [FIXだけではなく、すべてのケースで風味を設定する携帯電話のブラウザが検出された場合。レポートのジョンP. Kiffmeyerに感謝します。

の要件

  • のPythonます。
  • ジャンゴます。

開発者の他のソフトウェア Gregor Mullegger

django-mobile
django-mobile

14 Apr 15

へのコメント django-mobile-withstatic

コメントが見つかりません
コメントを追加
画像をオンにする!