Buscando como hacer una aplicación django apta para escritorio y móviles encontré bastante info, como por ejemplo:
- http://mobiforge.com/developing/story/build-a-mobile-and-desktop-friendly-application-django-15-minutes
- http://stackoverflow.com/questions/1057252/django-how-do-i-access-the-request-object-or-any-other-variable-in-a-forms-clea
- http://stackoverflow.com/questions/164427/change-django-templates-based-on-user-agent
- http://sullerton.com/2011/03/django-mobile-browser-detection-middleware/
- http://opensource.washingtontimes.com/blog/2010/feb/17/loading-templates-based-request-headers-django/
Pero al final la que más me ha convencido la encontré a través de stackoverflow (como no!):
http://stackoverflow.com/questions/2321172/detect-mobile-browser-not-just-iphone-in-python-view
Se basa en el uso de un middleware, el minidetector. En su web hay una brevisima documentación, que además no es correcta 🙁 pero tampoco es tan difÃcil echarlo a andar:
- Nos lo bajamos al directorio de nuestro proyecto:
svn co http://minidetector.googlecode.com/svn/trunk/minidetector
- Lo añadimos a la lista de middlewares en el settyngs..py
'minidetector.Middleware'
- Y ya podemos jugar en las vistas con el parámetro mobile del objecto request, por ejemplo cambiando los templates
def my_mobile_view(request):
if request.mobile:
#do something with mobile
}}}
Ya solo nos falta usar nuetsra framework web mobile preferido (como http://jquerymobile.com)