Estoy usando Django 1.1 en Google App Engine a través del use_library
. Aquí no se utilizan herramientas DDAgo GAE, Django non-rel ni similares. Django maneja el enrutamiento de URL, la validación de formularios, etc., pero estoy usando modelos puros de App Engine.Cómo evitar NotImplementedError "Sólo tempfile.TemporaryFile está disponible para su uso" en django en Google App Engine?
En uno de mis Django forma hay una FileField, que de vez en cuando, parece llamar django.core.files.uploadedfile.TemporaryUploadedFile. Esta clase se utiliza tempfile.NamedTemporaryFile y esto da lugar a la aplicación de elevación del motor:
File "/base/python_runtime/python_dist/lib/python2.5/tempfile.py", line 45, in PlaceHolder
raise NotImplementedError("Only tempfile.TemporaryFile is available for use")
Tratando de resolver este problema Tomé uploadedfile module de Google App Engine Helper para Django (que no utiliza NamedTemporaryFile
) guardado como gae_uploadedfile.py
en el directorio de la aplicación y en mi archivo _djangomain.py_
añadí:
from google.appengine.dist import use_library
use_library('django', '1.1')
(...)
import gae_uploadedfile
django.core.files.uploadedfile = gae_uploadedfile
djangomain.py es un archivo donde puedo redirigir todas las URL - en app.yaml tengo:
- url: /.*
script: djangomain.py
Pero no sirvió de nada, sigo teniendo esta excepción. ¿Qué estoy haciendo mal? ¿Hay alguna otra solución para evitar este error al usar FileField en django.forms
?