【问题标题】:Serializer Import Error on Django Rest FrameworkDjango Rest Framework 上的序列化程序导入错误
【发布时间】:2015-06-16 19:12:50
【问题描述】:

我正在尝试按照以下链接中的教程开始使用 Django REST 框架: http://www.django-rest-framework.org/tutorial/quickstart/

但是,按照此处的说明,一旦启动服务器,就会遇到如下错误:

Could not import 'rest_framework.renderers.JSONRenderer' for API setting 'DEFAULT_RENDERER_CLASSES'. ImportError: cannot import name serializers.

这感觉像是一个兼容性问题,所以我查看了我的包版本并想出了以下内容:

  • Django==1.7.7
  • djangorestframework==3.1.1
  • Python==2.7.6

我想知道是否有人对问题可能有任何想法。抱歉,如果我没有提供足够的信息,很乐意提供更多信息,只是目前还不确定什么是相关的。

谢谢!

-- 更新

感谢 Kevin,添加您在下面链接的命令的输出:

In [1]: from rest_framework.renderers import JSONRenderer
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-92bc65a288f2> in <module>()
----> 1 from rest_framework.renderers import JSONRenderer

C:\Anaconda64\lib\site-packages\rest_framework\renderers.py in <module>()
     18 from django.test.client import encode_multipart
     19 from django.utils import six
---> 20 from rest_framework import exceptions, serializers, status, VERSION
     21 from rest_framework.compat import SHORT_SEPARATORS, LONG_SEPARATORS, INDENT_SEPARATORS
     22 from rest_framework.exceptions import ParseError

C:\Anaconda64\lib\site-packages\rest_framework\serializers.py in <module>()
     40 # serializer fields more explicit.
     41
---> 42 from rest_framework.relations import *  # NOQA
     43 from rest_framework.fields import *  # NOQA
     44

C:\Anaconda64\lib\site-packages\rest_framework\relations.py in <module>()
      9 from django.utils.translation import ugettext_lazy as _
     10 from rest_framework.compat import OrderedDict
---> 11 from rest_framework.fields import get_attribute, empty, Field
     12 from rest_framework.reverse import reverse
     13 from rest_framework.utils import html

C:\Anaconda64\lib\site-packages\rest_framework\fields.py in <module>()
----> 1 from rest_framework import serializers
      2
      3 from .models import User, Post, Photo
      4
      5

ImportError: cannot import name serializers

In [2]:

【问题讨论】:

  • 打开一个shell并执行python -c 'from rest_framework.renderers import JSONRenderer'(复制错误的导入)并将任何回溯添加到您的问题。
  • 你在使用 virtualenv 吗?
  • 嘿,列维,我不是。只是在我的本地机器上做正确的事情。也许我应该把旧的全部删除并重新安装尝试...?

标签: python django django-rest-framework


【解决方案1】:

我遇到了同样的问题,对我来说升级 django rest 解决了这个问题!我用了这个命令

pip install djangorestframework --upgrade

【讨论】:

    猜你喜欢
    • 2020-05-23
    • 1970-01-01
    • 2019-05-23
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    相关资源
    最近更新 更多