Django - 通用 View 子类 - url 参数

标签 django subclass django-generic-views

我需要显示包含一些其他数据的视频的详细信息页面。
为此,我使用 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/

相关文章:

objective-c - 自定义全屏 NSWindow 中奇怪的大小调整?

python - 我想向 Django DetailView 添加条件

Django:为基于类的 View 扩展 get_object

django - 使用 get_queryset() 方法或设置查询集变量?

python - 是否有可插拔的在线 python 控制台?

mysql - Django - MySQL 数据库日期时间字段被清除

python - 为什么 Django cms 站点地图 url 在所有浏览器中都不匹配?

html - Django 模板 : How to display html code?

java - 区分构造函数内的子类

windows - 如何子类化 Windows 资源管理器的窗口