假设我有一个没有网址参数的自定义路由/some-route
,因此它不会有/some-route/<user-id>
。
我想创建一个通用视图,它将使用经过身份验证的用户作为上下文对象。我就是这样做的,但我认为可能有更好的方法。
UserDetail(DetailView):
def get_object(self, queryset=None):
return self.request.user
我能想到的最大的问题是它期待一个pk kwarg从路线上过去。我不想指定任何路由args。有任何想法吗? TY。
答案 0 :(得分:0)
您建议的课程可以正常使用。
class UserDetail(DetailView):
def get_object(self, queryset=None):
return self.request.user
它是详细视图get_object
方法,它们希望主键成为url模式中的命名参数。这不是问题,因为你已经覆盖了它。
另一个建议是使用LoginRequiredMixin
,以便用户只能在登录时访问该视图。