Crear versión mobile de una web sobre DJANGO

Buscando como hacer una aplicación django apta para escritorio y móviles encontré bastante info, como por ejemplo:

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)

Un trozito de nube gratis de la mano de RedHat

La gente de RedHat ha montado su nube y nos da acceso gratuito paraque subamos nuestras aplicaciones. La verdad es que tiene muy buena pinta. DiaroLinux tiene un muy buen post que explica como empzar con OpenShift y como poner online una aplicación PHP:
http://diariolinux.com/2012/01/25/openshift-computacion-gratuita-en-la-nube-de-redhat

Y como últimamente estoy muy centrado en django, os dejo el ejemplo de la propia gente de OpenShift para poner en marcha una app django:

https://github.com/openshift/django-example

Y un post donde dan algunas tips:

http://blog.ianweller.org/2011/05/12/openshift-express-first-thoughts/

Hacer busquedas de google desde python

Tengo un proyectillo personal sobre calcular el posicionamiento de una web en google (dondesalgoengoogle.es, pero aune stá verde solo para uso interno). Como siempre en python hay ya muchas cosas hechas y esta no es un caso distinto. Lo estoy haciendo el django (por eso tanto post sobre él) y usando la librería de catonmat:

http://www.catonmat.net/blog/python-library-for-google-search/

Es bastante sencilla de utilizar:

from xgoogle.search import GoogleSearch, SearchError
try:
  gs = GoogleSearch("quick and dirty")
  gs.results_per_page = 50
  results = gs.get_results()
  for res in results:
    print res.title.encode("utf8")
    print res.desc.encode("utf8")
    print res.url.encode("utf8")
    print
except SearchError, e:
  print "Search failed: %s" % e

 

 

 

Usar cron de manera gráfica en apps django

Uno de los problemas típicos en aplicaciones web es el ejecuta trabajos de manera cíclica y programada. En django hay una interesante aplicación que podemos añadir a nuestro proyecto para gestionar tareas que queremos que se ejecuten a una cierta hora unos días concretos. Se trata de django-cronograph y en si documentación encontramos más detalles http://readthedocs.org/docs/django-chronograph/en/latest/overview.html

Realmente es sencilla de usar:

  • añadidos la app a nuestro proyecto (copiamos el directorio, la añadimos en settings.py, hacemos un syncdb etc)
  • Si queremos ejecutar algún acción de nuestros modelos o similar creamos un nuevo comando de administración de django siguiendo estas instrucciones:https://docs.djangoproject.com/en/dev/howto/custom-management-commands/
  • Añadimos una entrada en cron que lance el comando de cronograph
  • Desde la parte admin podemos empezar a definir nuestras tareas periodicas.

Lungo, otro framework HTML para desarrollo móvil multiplataforma

Es uno de los mantras de estos meses: el desarrollo para multi-plataforma para terminales móviles.Ya he hablado del tema y hasta reseñado phonegap y ahora me encuentro con este joven proyecto:

http://www.lungojs.com/

Tan joven que aun no se puede ni descargar 🙂 Valga este apunte para que ternelo en el radar y estar atento a sus evoluciones.

Super-chuleta de python

chuletaVía alfredo me entero de este post http://ubuntulife.wordpress.com/2011/08/27/mega-cheatsheet-de-python-la-chuleta-de-python-mas-completa-que-he-visto-hasta-la-fecha/
y esta magnifica super-chuleta de python (solo le faltan unas patatas de guarnición 🙂 ) La tenemos en PDF o en ODT (para facilitar su digestión cocinándola a nuestro gusto).

 

Yo ya la tengo a buen recaudo, para cuando tengo «hambre» de python 🙂

Probando PhoneGap

Hace unos meses hablaba de varias alterativas para el desarrollo de aplicaciones para móviles. PhoneGap es una plataforma para el desarrollo de aplicaciones para móviles con html, que nos permite desarrollar aplicaciones para varias plataformas (Android, IOs, blackberry, symbian,…) sin tener que aprender los sistemas de cada plataforma. El desarrollo lo hacemos en HTML5+Javascript,  si javascript no mola mucho, pero podemos usar la librería JQuery y JQueryMobile.

La verdad es que desarrollar algo sencillo es bastante fácil. He probado el ejemplo dan de como consumir datos de un API a través de JSON y me ha gustado bastante. No he probado la parte de acceso a BBDD en local y demás recursos del sistema móvil (GPS, acelerometros, etc) y solo he probado a compilar para Android. Pero la impresión es bastante buena. Eso sí, no sirve para cualquier tipo de aplicación. Pero si tenemos una web en versión mobile no nos costará mucho el hacer de ella una aplicación nativa, disponible en el market, etc.