ssk*_*ssk 4 django google-app-engine json
当我在谷歌应用引擎项目中使用来自django.utils的simplejson时出现此错误:
Traceback (most recent call last):
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 187, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/base/python27_runtime/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 225, in _LoadHandler
handler = __import__(path[0])
File "/base/data/home/apps/s~testapp/1.359839747994604729/notify.py", line 8, in <module>
from handlers.xmpp_handler import XMPPHandler
File "/base/data/home/apps/s~testapp/1.359839747994604729/handlers/xmpp_handler.py", line 12, in <module>
import commands
File "/base/data/home/apps/s~testapp/1.359839747994604729/handlers/commands.py", line 4, in <module>
from django.utils import simplejson
ImportError: No module named django.utils
Run Code Online (Sandbox Code Playgroud)
片段:
import datetime
from google.appengine.api import users
from google.appengine.ext import db
from django.utils import simplejson
class jsonEncoder(simplejson.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime.datetime):
return obj.isoformat()
elif isinstance(obj, db.Model):
return dict((p, getattr(obj, p))
for p in obj.properties())
elif isinstance(obj, users.User):
return obj.email()
else:
return simplejson.JSONEncoder.default(self, obj)
Run Code Online (Sandbox Code Playgroud)
zxt*_*zxt 15
您需要在以下内容中指定要使用django app.yaml:
libraries:
- name: django
version: "1.2"
Run Code Online (Sandbox Code Playgroud)
有关支持的django版本,请参阅GAE文档.
在Python 2.7运行时,您应该使用python的本机json库而不是simplejson.
| 归档时间: |
|
| 查看次数: |
7064 次 |
| 最近记录: |