首页 > 解决方案 > 从 djangorestframework 获取异常

问题描述

我从 djangorestframework 的 JSONEncoder 类中得到以下异常:

Traceback:

File "/home/ubuntu/Envs/env_md/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/home/ubuntu/Envs/env_md/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  156.                 response = self.process_exception_by_middleware(e, request)

File "/home/ubuntu/Envs/env_md/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  154.                 response = response.render()

File "/home/ubuntu/Envs/env_md/lib/python3.6/site-packages/django/template/response.py" in render
  106.             self.content = self.rendered_content

File "/home/ubuntu/Envs/env_md/lib/python3.6/site-packages/rest_framework/response.py" in rendered_content
  72.         ret = renderer.render(self.data, accepted_media_type, context)

File "/home/ubuntu/Envs/env_md/lib/python3.6/site-packages/rest_framework/renderers.py" in render
  106.             allow_nan=not self.strict, separators=separators

File "/home/ubuntu/Envs/env_md/lib/python3.6/site-packages/rest_framework/utils/json.py" in dumps
  28.     return json.dumps(*args, **kwargs)

File "/usr/lib/python3.6/json/__init__.py" in dumps
  238.         **kw).encode(obj)

File "/usr/lib/python3.6/json/encoder.py" in encode
  199.         chunks = self.iterencode(o, _one_shot=True)

File "/usr/lib/python3.6/json/encoder.py" in iterencode
  257.         return _iterencode(o, 0)

File "/home/ubuntu/Envs/env_md/lib/python3.6/site-packages/rest_framework/utils/encoders.py" in default
  56.         elif (coreapi is not None) and isinstance(obj, (coreapi.Document, coreapi.Error)):

Exception Type: AttributeError at /v0/ui/website/subject-assignment/
Exception Value: module 'coreapi' has no attribute 'Document'

所以,基本上,这是说我的应用程序(coreapi)没有 Document 属性。所有其他 api 工作正常,但它在一个特定的 api 中给出了这个错误。我也找不到该 api 的任何不同之处。djangorestframework 有什么问题,或者我应该怎么做才能调试?

注意:我使用的是 django 2.1.4,djangorestframework==3.9.0,python 版本是 3.6.5。

标签: djangopython-3.xdjango-rest-framework

解决方案


推荐阅读