Je souhaite fournir des versions spéciales de mon site django pour différents navigateurs (mobiles). Quelles sont les solutions possibles pour cela?Comment utiliser un modèle différent pour un navigateur différent
Répondre
À votre avis, ne smthg comme ce
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
})
et dans votre modèle
{% 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 %}
Je voudrais voter jusqu'à ... mais je ne peux pas encore – user114337
ne pas question: D Bienvenue à SO – vikingosegundo
meilleures pratiques: utiliser minidetector pour ajouter l'information supplémentaire à la demande, puis utilisez construit dans la demande de django contexte pour le passer à vos modèles comme ça.
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))
alors dans votre modèle, vous êtes en mesure de présenter des choses comme:
<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. Comment utiliser un STL différent avec g ++
- 2. Django: Inverser une URL avec un modèle différent
- 3. glutPostRedisplay dans un thread différent
- 4. Jeu de caractères différent sur un serveur différent?
- 5. Fichier journal différent pour un contrôleur spécifique
- 6. Comment maintenir un logiciel légèrement différent?
- 7. assembly.GetExportedTypes() affiche un résultat différent
- 8. Ascx dans un dossier différent?
- 9. Comment utiliser mod_rewrite pour la carte à un domaine différent et préserver la
- 10. Modèle d'élément différent pour chaque élément d'une liste WPF?
- 11. Comment faire pour enregistrer CURL dans un répertoire différent?
- 12. Comment inclure un module Perl dans un répertoire différent?
- 13. Comment copier un objet PHP dans un type d'objet différent
- 14. HTML5 Ajax à un domaine différent?
- 15. d'accès dans un assemblage différent C#
- 16. MSLinqToSQLGenerator génère un résultat différent de SQLMetal
- 17. Exercice de probabilité retournant un résultat différent
- 18. Exporter dans un format de fichier différent
- 19. En quoi le modèle Observer est-il différent d'un modèle piloté par un événement?
- 20. Existe-t-il un type de contenu différent pour les images avec un profil de couleur différent?
- 21. Avoir un fichier ibdata différent pour plusieurs bases de données
- 22. Comment exécuter un programme Java à partir d'un répertoire différent?
- 23. git: comment fusionner commet d'un distant à un chemin différent?
- 24. Même TableAdapter, DB différent
- 25. Comment générer de la documentation Ruby en utilisant un modèle différent?
- 26. différent composant dropdownlist
- 27. Comment convertir une image stdole.StdPicture en un type différent?
- 28. Comment créer une table SQL sous un schéma différent?
- 29. Comment utiliser XPath/Xsl pour comparer un élément enfant avec le même élément enfant sous un parent différent?
- 30. Comment avoir un lien dans un espace réservé ouvrir un ModalPopup dans un espace réservé différent?
double possible de [Modifier Django modèles basés sur User-Agent] (http://stackoverflow.com/questions/164427/change-django-templates-based-on-user-agent) – Eduardo
On dirait que cela a déjà été répondu ici: [http://stackoverflow.com/questions/164427/change-django-templates-based-on-user- agent] (http://stackoverflow.com/questions/164427/change-django-templates-based-on-user-agent) –