Django Rest API urlsplit错误

Tay*_*bbs 6 python django rest django-rest-framework

我正在尝试使用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')),
)
Run Code Online (Sandbox Code Playgroud)

完全追溯:

环境:

请求方法: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上发出GET请求

78:

79:

80:title ="指定GET请求的格式">

81:

82:

83:

84:{%for available_formats%}

85:

  • 86:

    87:href ='{%add_query_param request api_settings.URL_FORMAT_OVERRIDE format%}'

    88:
    rel ="nofollow"

    89:title ="在{{name}}资源上发出GET请求,格式设置为{{ format }}">

    90:{{format}}

    91:

    92:

  • 93:{%endfor%}

    94:

    95:

    96:

    97:

    回溯:get_response中的文件"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/core/handlers/base.py"139. response = response.render()File"/ Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/response.py"in render 105. self.content = self.rendered_content File"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/ python2.7/site-packages/rest_framework/response.py"in rendered_content 59. ret = renderer.render(self.data,media_type,context)File"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/ site-packages/rest_framework/renderers.py"in render 733. ret = template.render(context)File"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base. py"in render 140. return self._render(context)File"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py"in _render 134. return self. nodelist.render(context)File"/Users/taylorhobbs/.virtua lenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py"in render 840. bit = self.render_node(node,context)File"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/ python2.7/site-packages/django/template/debug.py"在render_node 78中.返回node.render(context)文件"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django /template/loader_tags.py"在渲染123中.在_render中返回compiled_pa​​rent._render(context)文件"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py" 134.在render 840中返回self.nodelist.render(context)文件"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py".bit = self.render_node (节点,上下文)文件"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/debug.py"在render_node 78中.返回node.render(context)文件"/ Users /taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/loa der_tags.py"in render 62. result = block.nodelist.render(context)File"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py"in render 840. bit = self.render_node(node,context)文件"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/debug.py"在render_node 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"in render 840. bit = self.render_node(node,context)File"/Users/taylorhobbs/.virtualenvs/Workout_log/ lib/python2.7/site-packages/django/template/debug.py"在render_node 78中.返回node.render(context)文件"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages /django/template/defaulttags.py"在渲染196. nodelist.append(node.render(context))在渲染1125中输入文件"/Users/taylorhobbs/.virtualenvs/Workout_log/lib/python2.7/site-packages/django/template/base.py".返回func(*resolved_args,**resolved_kwargs)文件"/ Users/taylorhobbs /.virtualenvs/Workout_log/lib/python2.7/site-packages/rest_framework/templatetags/rest_framework.py"in add_query_param 86. return escape(replace_query_param(uri,key,val))File"/Users/taylorhobbs/.virtualenvs/替换_query_param中的Workout_log/lib/python2.7/site-packages/rest_framework/templatetags/rest_framework.py"22.(scheme,netloc,path,query,fragment)= urlparse.urlsplit(url)

    异常类型:AttributeError at/Exception值:'Module_six_moves_urllib_parse'对象没有属性'urlsplit'

    小智 8

    尝试升级您的Django版本.Base 1.6不具备此功能,但1.6.3具有此功能. https://docs.djangoproject.com/en/dev/releases/1.6.3/