ImportError:在 Google 应用引擎中找不到 django.utils

2024-05-13

当我在 google app engine 项目中使用 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

Snippet:

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)

您需要指定您想要在您的应用程序中使用 djangoapp.yaml:

libraries:
- name: django
  version: "1.2"

See the GAE docs https://developers.google.com/appengine/docs/python/tools/libraries27对于支持的 django 版本。

在 Python 2.7 运行时,您应该使用 python原生 json 库 https://developers.google.com/appengine/docs/python/python27/newin27#JSON_Version而不是 simplejson 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ImportError:在 Google 应用引擎中找不到 django.utils 的相关文章

随机推荐