将URLS列表从一个页面传递到另一个页面

时间:2014-12-03 20:54:21

标签: django django-views django-urls

在我的Django网站的索引页面上,我生成了一个允许用户导航到详细信息页面的网址列表。显示详细信息页面后,导航将不再可见。

我想要实现的是导航列表出现在详细信息页面(以及添加到我网站的每个页面)。

我尝试的是以下内容:(每个视图中的第一行是重复的)

def index(request):    
    **collection_urls = Collection.objects.order_by('the_year')**    
    return render(request, 'index.html', {'collection_url': collection_urls})

def originalexample(request, collection_id):
    **collection_urls = CarCollection.objects.order_by('the_year')**    
    car = get_object_or_404(CarCollection, pk=collection_id)    
    return render(request, 'detail.html', {'originalexample': car, 'collection_url': collection_urls})

虽然这有效,但我知道我运行查询两次是不对的。我的下一个想法是执行一次查询,然后在呈现时将其传递给页面。如果是这样,我该怎么做?还是有更多的pythonic方法?

如果需要我使用Django 1.6.2并且网址列表不会经常更改(它们只能通过Django管理屏幕进行更改)

提前致谢。

1 个答案:

答案 0 :(得分:1)

你不想将它们从一个传递到另一个,你只是希望它们出现在任何地方。这通常是通过context processorscustom tags完成的。