Python 在django中将筛选列表传递给模板后,再次获取所有对象
我正在构建一个django web应用程序。一个区域有多个点,关系保存在该点内(点模型的区域有一个外键) web应用程序在每个区域都有一个页面,并显示点列表。该区域由url确定。我的视图从url.py解析KWARG并过滤所有区域对象的列表:Python 在django中将筛选列表传递给模板后,再次获取所有对象,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,我正在构建一个django web应用程序。一个区域有多个点,关系保存在该点内(点模型的区域有一个外键) web应用程序在每个区域都有一个页面,并显示点列表。该区域由url确定。我的视图从url.py解析KWARG并过滤所有区域对象的列表: class PointView(ListView): model = Point template_name = 'point_list_template.html' def get_queryset(self): a
class PointView(ListView):
model = Point
template_name = 'point_list_template.html'
def get_queryset(self):
area_title = self.kwargs['area_title']
return Point.objects.filter(area__title = area_title)
这很好,页面列出了属于所需区域的所有点。现在我想在页面底部列出除我现在显示的区域之外的所有其他区域。显然
{% for area in Area.objects.all %}
只提供我当前显示的一个区域(由url确定的区域)。如何访问模板中的所有区域对象或从视图中传递列表?您需要自己将它们添加到上下文中。覆盖
get\u context\u data
是实现这一点的最佳位置:
def get_context_data(self, **kwargs):
context = super(PointView, self).get_context_data(**kwargs)
context['all_areas'] = Area.objects.exclude(title=self.kwargs['area_title'])
return context
现在使用所有\u区域
在模板中访问它