Python 无法解析超链接关系的URL

Python 无法解析超链接关系的URL,python,django,django-rest-framework,Python,Django,Django Rest Framework,看到很多关于类似问题的帖子,要么不是很清楚,要么我不明白,所以把我的问题再次贴在这里 我还有很多其他的“xxxList”和“xxxDetail”,它们都工作得很好,除了这个例外: 无法使用视图名称解析超链接关系的URL “用户信息详细信息”。您可能未能将相关模型包括在中 您的API,或未正确配置上的查找\u字段属性 这个领域 型号: class UserInfo(models.Model): # extend Django user object user = models.Fo

看到很多关于类似问题的帖子,要么不是很清楚,要么我不明白,所以把我的问题再次贴在这里

我还有很多其他的“xxxList”和“xxxDetail”,它们都工作得很好,除了这个例外:

无法使用视图名称解析超链接关系的URL “用户信息详细信息”。您可能未能将相关模型包括在中 您的API,或未正确配置上的
查找\u字段
属性 这个领域

型号

class UserInfo(models.Model):
    # extend Django user object
    user = models.ForeignKey(User, related_name='parkingUser')
序列化程序:

class UserInfoSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = UserInfo

class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'is_staff', 'is_active', 'date_joined')
class UserInfoList(generics.ListCreateAPIView):
    queryset = UserInfo.objects.all()
    serializer_class = UserInfoSerializer
    permission_classes = (permissions.IsAuthenticated,)

    def perform_create(self, serializer):
        serializer.save(user=self.request.user)

class UserInfoDetail(generics.RetrieveAPIView):
    queryset = UserInfo.objects.all()
    serializer_class = UserInfoSerializer
    permission_classes = (permissions.IsAuthenticated, )    

class UserList(generics.ListCreateAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = (permissions.IsAuthenticated, )

class UserDetail(generics.RetrieveAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = (permissions.IsAuthenticated, IsSuperUsersGroupOrDeny)
 url(r'^usersInfo/$', views.UserInfoList.as_view(), name='userInfo-list'),
 url(r'^usersInfo/(?P<pk>[0-9]+)/$', views.UserInfoDetail.as_view(), name='userInfo-detail'),
 url(r'^users/$', views.UserList.as_view(), name='user-list'),
 url(r'^users/(?P<pk>[0-9]+)/$', views.UserDetail.as_view(), name='user-detail'),
查看:

class UserInfoSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = UserInfo

class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'is_staff', 'is_active', 'date_joined')
class UserInfoList(generics.ListCreateAPIView):
    queryset = UserInfo.objects.all()
    serializer_class = UserInfoSerializer
    permission_classes = (permissions.IsAuthenticated,)

    def perform_create(self, serializer):
        serializer.save(user=self.request.user)

class UserInfoDetail(generics.RetrieveAPIView):
    queryset = UserInfo.objects.all()
    serializer_class = UserInfoSerializer
    permission_classes = (permissions.IsAuthenticated, )    

class UserList(generics.ListCreateAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = (permissions.IsAuthenticated, )

class UserDetail(generics.RetrieveAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = (permissions.IsAuthenticated, IsSuperUsersGroupOrDeny)
 url(r'^usersInfo/$', views.UserInfoList.as_view(), name='userInfo-list'),
 url(r'^usersInfo/(?P<pk>[0-9]+)/$', views.UserInfoDetail.as_view(), name='userInfo-detail'),
 url(r'^users/$', views.UserList.as_view(), name='user-list'),
 url(r'^users/(?P<pk>[0-9]+)/$', views.UserDetail.as_view(), name='user-detail'),
应用程序Url:

class UserInfoSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = UserInfo

class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'is_staff', 'is_active', 'date_joined')
class UserInfoList(generics.ListCreateAPIView):
    queryset = UserInfo.objects.all()
    serializer_class = UserInfoSerializer
    permission_classes = (permissions.IsAuthenticated,)

    def perform_create(self, serializer):
        serializer.save(user=self.request.user)

class UserInfoDetail(generics.RetrieveAPIView):
    queryset = UserInfo.objects.all()
    serializer_class = UserInfoSerializer
    permission_classes = (permissions.IsAuthenticated, )    

class UserList(generics.ListCreateAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = (permissions.IsAuthenticated, )

class UserDetail(generics.RetrieveAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = (permissions.IsAuthenticated, IsSuperUsersGroupOrDeny)
 url(r'^usersInfo/$', views.UserInfoList.as_view(), name='userInfo-list'),
 url(r'^usersInfo/(?P<pk>[0-9]+)/$', views.UserInfoDetail.as_view(), name='userInfo-detail'),
 url(r'^users/$', views.UserList.as_view(), name='user-list'),
 url(r'^users/(?P<pk>[0-9]+)/$', views.UserDetail.as_view(), name='user-detail'),
url(r'^usersInfo/$,views.UserInfoList.as_view(),name='userInfo-list'),
url(r'^usersInfo/(?P[0-9]+)/$,views.UserInfoDetail.as_view(),name='userInfo-detail'),
url(r“^users/$”,views.UserList.as_view(),name='user-list'),
url(r'^users/(?P[0-9]+)/$,views.UserDetail.as_view(),name='user-detail'),
我几乎删除了所有用于测试的逻辑代码,这再简单不过了,还是同一个例外,奇怪的是如果我在浏览器中用标准url测试“userInfoDetail”,比如:

有些返回相同的错误,有些返回相同的错误

{ “详细信息”:“未找到”。}


这里有什么问题?

我可能错了,但问题似乎是您的
用户信息中的大写字母“I”
URL。尝试
name='userinfo-list'
name='userinfo-detail'
而不是
name='userinfo-list'
name='userinfo-detail'

真不敢相信这就是原因,这种问题总是要花我几个小时才能解决,谢谢!