Python 无法解析超链接关系的URL
看到很多关于类似问题的帖子,要么不是很清楚,要么我不明白,所以把我的问题再次贴在这里 我还有很多其他的“xxxList”和“xxxDetail”,它们都工作得很好,除了这个例外: 无法使用视图名称解析超链接关系的URL “用户信息详细信息”。您可能未能将相关模型包括在中 您的API,或未正确配置上的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
查找\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'
,真不敢相信这就是原因,这种问题总是要花我几个小时才能解决,谢谢!