【问题标题】:Passing a list of URLS from one page to another将 URL 列表从一个页面传递到另一个页面
【发布时间】:2015-02-01 14:08:11
【问题描述】:

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

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

我尝试过的如下:(每个视图中的第一行都是重复的)

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,并且 url 列表不会经常更改(它们只能通过 Django 管理屏幕更改)

提前致谢。

【问题讨论】:

    标签: django django-views django-urls


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我会查的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    相关资源
    最近更新 更多