Desde hace unos días en el escaso tiempo libre que he tenido he estado intruseando google appengine. He estado montar una pequeña aplicación en django y para cosas simples como renderizar una página funcionaba. Pero cuando quieres hacer cosas un poco más elaboradas (en realidad nada del otro mundo) empiezan los problemas:
- No tienes una bd relacional, si no que un mejunje con las maravillas de google.
- Por lo tanto no tienes sesiones de buenas a primeras, ya que el sistema de sesiones de django ocupa por defecto el motor basado en base de dato relacional, por ende si no existe, empiezas a obtener errores
Y que errores empiezo a obtener:
'WSGIRequest' object has no attribute 'session'
Después de darle varias vueltas terminé donde debería haber partido: en la documentación de django. Y ahí dan la clave de que se puede usar un cache que no es basado en BD. En algunos sitios lo recomiendan para cosas pequeñas… y es justo el uso que quiero darle.
Por lo tanto que se debe hacer:
En el settings.py…
descomentar en MIDDLEWARE_CLASSES
'django.contrib.sessions.middleware.SessionMiddleware',
y agregar como variable general
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
Y con eso la magia funciona en google appengine.
