如何从视图混合中获取 django url 参数?
How do I get django url parameters from a view mixin?
正如标题所言。我有一个 mixin 需要引入模型字段的 id 才能有用。我认为最简单的方法是从 URL.
中提取它
class StatsMixin(ContextMixin):
def get_stats_list(self, **kwargs):
# the ??? is the problem.
return Stats.objects.filter(id=???).select_related('url')
def get_context_data(self, **kwargs):
kwargs['stats'] = self.get_stats_list()[0]
print kwargs
return super(StatsMixin, self).get_context_data(**kwargs)
下面是视图实现供参考。
class ResourceDetail(generic.DetailView, StatsMixin):
model = Submissions
template_name = 'url_list.html'
queryset = Rating.objects.all()
queryset = queryset.select_related('url')
您可以使用 self.args
和 self.kwargs
.
在 Django 中访问 URL 参数
正如标题所言。我有一个 mixin 需要引入模型字段的 id 才能有用。我认为最简单的方法是从 URL.
中提取它class StatsMixin(ContextMixin):
def get_stats_list(self, **kwargs):
# the ??? is the problem.
return Stats.objects.filter(id=???).select_related('url')
def get_context_data(self, **kwargs):
kwargs['stats'] = self.get_stats_list()[0]
print kwargs
return super(StatsMixin, self).get_context_data(**kwargs)
下面是视图实现供参考。
class ResourceDetail(generic.DetailView, StatsMixin):
model = Submissions
template_name = 'url_list.html'
queryset = Rating.objects.all()
queryset = queryset.select_related('url')
您可以使用 self.args
和 self.kwargs
.