class SnippetSerializer(serializers.HyperlinkedModelSerializer):
owner = serializers.ReadOnlyField(source='owner.username')
highlight = serializers.HyperlinkedIdentityField(view_name='snippet-highlight', format='html')
class Meta:
model = Snippet
fields = ('url', 'id', 'highlight', 'owner',
'title', 'code', 'linenos', 'language', 'style')
它是我的SnippetSerializer类,也定义了
owner = serializers.ReadOnlyField(source='owner.username')
我发出了一个错误 / snippets / 3 / highlight /中的AttributeError '片段'对象没有突出显示的属性' 你能解决吗?
class SnippetHighlight(generics.GenericAPIView):
queryset = Snippet.objects.all()
renderer_classes = (renderers.StaticHTMLRenderer,)
def get(self, request, *args, **kwargs):
snippet = self.get_object()
return Response(snippet.highlighted)
这是我的SnippetHighlight视图
答案 0 :(得分:0)
在序列化程序中,您引用highlight
字段,属性错误表示没有名为highlighted
的属性,请注意最后的d
。我的猜测是你试图在代码中的其他地方访问不正确的属性。
回复评论后:
看起来问题在于返回值
return Response(snippet.highlighted)
代码段模型没有属性highlighted
,来自序列化程序我认为应该是:
return Response(snippet.highlight)