【问题标题】:ImproperlyConfigured url配置不当的网址
【发布时间】:2017-08-03 17:51:50
【问题描述】:

我正在尝试 Django REST 框架。我正在使用 Django 1.10 和 DRF 3.6.2。

我错过了什么,谁能告诉我!!!

我在示例 django 项目中创建了一个“api”应用程序。在我的 serializers.py 中

from django.contrib.auth.models import User
from rest_framework import serializers


class UserSerializer(serializers.ModelSerializer):

    class Meta:
        model = User
        fields = ['url', 'username', 'email',]

在我看来.py

from django.contrib.auth.models import User
from rest_framework import generics
from .serializers import UserSerializer


class UserListAPIView(generics.ListAPIView):

    queryset = User.objects.all().order_by('-date_joined')
    serializer_class = UserSerializer

在我的项目中 urls.py

from django.conf.urls import url, include
from django.contrib import admin


urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include('api.urls', namespace='users')),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),

]

在我的应用“api”urls.py

from django.conf.urls import include, url
from . import views


urlpatterns = [
    url(r'^api/users', views.UserListAPIView.as_view(), name='user-list'),
]

看起来一切都很好。但是当我打电话给http://127.0.0.1:8000/api/users/

它正在显示---

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    从它尝试向用户添加详细视图的字段中删除“url”,但你没有:

    class UserSerializer(serializers.ModelSerializer):
    
        class Meta:
            model = User
            fields = ['username', 'email',]
            #        ^^^^^^^^^^^^^^^^^^^^^
    

    或者尝试使用readonlymodelviewset

    【讨论】:

    • 是的,它有效.. 谢谢.. 'url' 导致了问题。 :)
    • 先生,您对我来说就像上帝。我一直在尝试调试我的项目 3 天,但在遇到这个问题之前没有任何帮助。
    猜你喜欢
    • 2011-02-18
    • 2011-12-05
    • 1970-01-01
    • 2021-11-13
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多