ジャンゴ·モバイルは、モバイルブラウザを検出するための簡単な方法を提供し、ユーザーにあなたのサイトのモバイル版を提供するために、いくつかの異なるテンプレートをレンダリングするためにあなたの手であなたのツールを提供し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; ...