【发布时间】:2015-02-14 08:29:15
【问题描述】:
我正在尝试使用 Django Rest 设置 API,我尝试使用快速入门指南,但我得到的只是这个错误:
'Module_six_moves_urllib_parse' object has no attribute 'urlsplit'
我在互联网上找不到任何有关此错误的参考,更不用说如何解决了。
这是我的网址文件:
from django.conf.urls import patterns, include, url
from django.contrib.auth.models import User
from django.contrib import admin
from rest_framework import routers, serializers, viewsets
admin.autodiscover()
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'email', 'is_staff')
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
router = routers.DefaultRouter()
router.register(r'users', UserViewSet)
urlpatterns = patterns('',
url(r'^', include(router.urls)),
url(r'^', include('logs.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
)
完整的追溯:
环境:
请求方法:GET
Django 版本:1.6 Python 版本:2.7.6 已安装的应用程序: ('rest_framework', 'south', 'django.contrib.admin', 'django.contrib.admindocs', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages'、'django.contrib.staticfiles'、'logs'、 'django_nose') 已安装的中间件: ('django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware')
模板错误:在模板中 /Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/rest_framework/templates/rest_framework/base.html, 第 87 行的错误“Module_six_moves_urllib_parse”对象没有 属性 'urlsplit' 77 :
rel="nofollow" title="在 {{ name }} 上发出 GET 请求 资源">获取78:
79:
80 : title="指定一个 GET 请求的格式">
81:
82:
83:
84 : {% 表示格式 可用格式%}
85:
86 :
87 : href=' {% add_query_param 请求 api_settings.URL_FORMAT_OVERRIDE 格式 %} '
88 :
rel="nofollow"89 : title="制作一个 对 {{ name }} 资源的 GET 请求,格式设置为
{{ format }}">90 : {{ 格式 }}
91:
92:
93 : {% endfor %}
94:
95:
96:
97:
追溯:文件 “/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/core/handlers/base.py” 在 get_response 139. response = response.render() 文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/response.py” 在渲染中 105. self.content = self.rendered_content 文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/rest_framework/response.py” 在渲染内容中 59. ret = renderer.render(self.data, media_type, context) 文件 “/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/rest_framework/renderers.py” 在渲染中 733. ret = template.render(context) 文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py” 在渲染中 140.返回self._render(context)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py” 在_render 134.返回self.nodelist.render(context)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py” 在渲染中 840. bit = self.render_node(节点,上下文)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/debug.py” 在渲染节点 78.返回node.render(context)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/loader_tags.py” 在渲染中 123.返回compiled_parent._render(context)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py” 在_render 134.返回self.nodelist.render(context)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py” 在渲染中 840. bit = self.render_node(节点,上下文)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/debug.py” 在渲染节点 78.返回node.render(context)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/loader_tags.py” 在渲染中 62. 结果 = block.nodelist.render(context) 文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py” 在渲染中 840. bit = self.render_node(节点,上下文)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/debug.py” 在渲染节点 78.返回node.render(context)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/defaulttags.py” 在渲染中 305.返回nodelist.render(context)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py” 在渲染中 840. bit = self.render_node(节点,上下文)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/debug.py” 在渲染节点 78.返回node.render(context)文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/defaulttags.py” 在渲染中 196. nodelist.append(node.render(context)) 文件 “/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py” 在渲染中 1125. 返回 func(*resolved_args, **resolved_kwargs) 文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/rest_framework/templatetags/rest_framework.py” 在 add_query_param 86. return escape(replace_query_param(uri, key, val)) 文件“/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/rest_framework/templatetags/rest_framework.py” 在 replace_query_param 22. (scheme, netloc, path, query, fragment) = urlparse.urlsplit(url)
异常类型:AttributeError at / 异常值: 'Module_six_moves_urllib_parse' 对象没有属性 'urlsplit'
【问题讨论】:
-
请编辑您的问题并添加完整的回溯(错误消息)。
-
确保您安装的 6 版本是最新的
标签: python django rest django-rest-framework