我需要显示包含一些其他数据的视频的详细信息页面。
为此,我使用 DetailView
我已经覆盖以向上下文添加一些变量。
以下是代码部分:
#urlconf
#...
(r'viewtube/(?P<pk>\d+)$', VideoFileDetailView.as_view()),
#...
#view
class VideoFileDetailView(DetailView):
model = VideoFile
def get_context_data(self, **kwargs):
context = super(VideoFileDetailView, self).get_context_data(**kwargs)
# context['rates'] = VideoRate.objects.filter(video=11, user=1)
return context
这里
pk
是视频的 id,我需要获取当前用户所选视频的费率。
最佳答案
该请求应该可以通过 self.request
访问. self.request
设置在请求的开头(在 View.dispatch
中)并且应该可以用于任何子类方法。
class VideoFileDetailView(DetailView):
model = VideoFile
def get_context_data(self, **kwargs):
context = super(VideoFileDetailView, self).get_context_data(**kwargs)
context['rates'] = VideoRate.objects.filter(video=11, self.request.user)
# note that the object is available via self.object or kwargs.get("object")
return context
关于Django - 通用 View 子类 - url 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6427004/