【发布时间】: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