gpt4 book ai didi

python - 将过滤后的列表传递给django中的模板后再次获取所有对象

转载 作者:行者123 更新时间:2023-11-30 23:21:52 26 4
gpt4 key购买 nike

我正在构建一个 Django Web 应用程序。一个区域有很多点,关系保存在点内(点模型有一个指向其区域的外键)。

网络应用程序针对每个区域都有一个页面,并显示点列表。该区域由 url 确定。我的 View 解析 url.py 中的 kwargs 并过滤所有区域对象的列表:

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 确定的区域)。我如何访问模板中的所有区域对象或从 View 传递列表?

最佳答案

您需要自己将它们添加到上下文中。重写 get_context_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

现在使用 all_areas 在模板中访问该内容。

关于python - 将过滤后的列表传递给django中的模板后再次获取所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24761128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com