我在视图集中定义了一个 get_queryset 方法。
class BooksViewSet(ReadOnlyModelViewSet):
serializer_class = BooksSerializer
permission_classes = (IsAuthorizedToAccess, )
def get_queryset(self):
queryset = Books.objects.all();
return queryset
我想使用JavaScript在一个页面上同时展示当前用户的图书和其他所有用户的图书,但是我已经编写了所有代码,却无法在JS文件中访问当前用户的ID。
if(auther.id == "current user id")
{
}
我想像这样访问用户ID。 所有搜索都告诉我需要将用户ID添加为隐藏字段或传递该ID。但是由于方法只允许返回查询集对象,所以我无法这样做。
请问有谁可以帮助我理解这个问题吗?
编辑:我的解决方案
在我的视图中,我定义了get_context_data方法。 def get_context_data(self, *args, **kwargs):
ctx = super(class_name, self).get_context_data(*args, **kwargs)
ctx["author_id"]=self.request.user.id
return ctx
在我的模板中,我定义了一个隐藏字段:<input type="hidden" id="userId" value={{author_id}}>
在我的JS代码中:
var x = document.getElementById("author_id").value;