別の(モバイル)ブラウザ用の私のdjangoサイトの特別なバージョンをお届けしたいと思います。 これを行うにはどうすればよいですか?あなたのビューで別のブラウザで別のテンプレートを使用する方法
1
A
答えて
1
、この
def map(request, options=None, longitude=None, latitude = None):
if 'iPhone' in request.META["HTTP_USER_AGENT"]:
user_agent = 'iPhone'
elif 'MSIE' in request.META["HTTP_USER_AGENT"]:
user_agent ='MSIE'
else: user_agent=''
print user_agent
return render_to_response('map/map.html',
{
'user_agent': user_agent
})
のようにして、テンプレートにsmthgん
{% ifnotequal user_agent "iPhone" %}
{% ifequal user_agent "MSIE" %}
{% include 'map/map_ie.html' %}
{% else %}
{% include 'map/map_default.html' %}
{% endifequal %}
{% else %}
{% include 'map/map_iphone.html' %}
{% endifnotequal %}
+0
私は投票したいです...しかし、私はまだ – user114337
+0
できません問題:D SOへようこそ – vikingosegundo
0
のベストプラクティス:その後、Djangoの要求に建て使用し、リクエストに余分な情報を追加するためにminidetectorを使用コンテキストをテンプレートに渡すことができます。
from django.shortcuts import render_to_response
from django.template import RequestContext
def my_view_on_mobile_and_desktop(request)
.....
render_to_response('regular_template.html',
{'my vars to template':vars},
context_instance=RequestContext(request))
その後、テンプレートにあなたのようなものを導入することができます:
<html>
<head>
{% block head %}
<title>blah</title>
{% if request.mobile %}
<link rel="stylesheet" href="{{ MEDIA_URL }}/styles/base-mobile.css">
{% else %}
<link rel="stylesheet" href="{{ MEDIA_URL }}/styles/base-desktop.css">
{% endif %}
</head>
<body>
<div id="navigation">
{% include "_navigation.html" %}
</div>
{% if not request.mobile %}
<div id="sidebar">
<p> sidebar content not fit for mobile </p>
</div>
{% endif %>
<div id="content">
<article>
{% if not request.mobile %}
<aside>
<p> aside content </p>
</aside>
{% endif %}
<p> article content </p>
</aricle>
</div>
</body>
</html>
関連する問題
- 1. WP7 WebブラウザコントロールはIEブラウザを使用し、別のブラウザを使用する方法
- 2. iOSで「ブラウザを識別する」方法
- 3. 別のアセンブリにあるT4テンプレート内でカスタムメソッドを使用する方法
- 4. 別のphpファイルに別のPHPバージョンを使用する方法
- 5. 別の方法String.Splitを使用する
- 6. SubversionのURLで別のブラウザを使用する
- 7. 別のコントローラで別のビューでテンプレートをレンダリングする
- 8. 流星:別のテンプレートでテンプレートプロトタイプを指す方法は?
- 9. コマンドラインで別のバージョンのJavaを使用する方法
- 10. cakephpここで別のテーブルを使用する方法
- 11. EFで別のデータモデルを使用する方法
- 12. C++で別のクラスメンバー変数を使用する方法は?
- 13. g ++で別のSTLを使用する方法
- 14. 別のアクティビティで文字列配列を使用する方法
- 15. 別のデータベースで@DbLookupsを使用する方法
- 16. 別のオブジェクトでスワイプを使用する方法
- 17. Django-Registrationで別のフォームを使用する方法
- 18. サーバアプリケーションで別のコアを使用する方法
- 19. CSSでnot()疑似クラスを使用する別の方法
- 20. 別のテンプレートを使用してWordpressでajaxを使ってページをロードする
- 21. スプロケットを使用した別のjsテンプレートを使用できますか?
- 22. extjsで別のURLを使用して同じ店を使用する方法
- 23. MPIを使用して別のプロセッサで同じアレイを使用する方法
- 24. Django:オブジェクト/オブジェクトIDを別のテンプレートに渡す方法
- 25. 1のコントロールを別のフォームから使用する方法は?
- 26. Ember.CollectionViewでテンプレートを使用する方法
- 27. 別のJOptionPaneで別の配列を表示する方法
- 28. PHPを使用して別のサイトを検索する方法
- 29. 別のオブジェクトを使用してAlertDialogを表示する方法
- 30. JSTLを使用してJSPでドメインを区別する方法
[のUser-Agentに基づいて変更Djangoのテンプレート]の可能複製(http://stackoverflow.com/questions/164427/change-django-templates-on-user-agent) – Eduardo
このように見えます:[http://stackoverflow.com/questions/164427/change-django-templates-based-on-user-エージェント](http://stackoverflow.com/questions/164427/change-django-templates-based-on-user-agent) –