Az指数Djang

2024-06-02 03:12:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找有关设计一个带有a-Z索引的网页的建议。在

有点像:

http://www.bls.gov/bls/topicsaz.htm 我有一个很长的对象列表,有一个标题,我想按字母顺序显示,简单!在

但我想在A-Z中加锚,在模板中做这个

我必须遍历模板中的所有对象,将currentletter存储为全局。然后检查每个对象是否以当前字母等开头

这不好,有没有更简单的方法让我错过。在

也许我应该用python代码来做?在


Tags: 对象模板http网页标题列表顺序www
3条回答

您可以使用重新分组模板标记来分组项。。。 让标题成为你要索引的字段。。。 首先,在视图中过滤对象并为每个对象添加索引参数以进行分组:

objectList = SomeModel.objects.all()
for x in objectList:
    x.__setattr__('index', x.headline[0])// first letter of headline

Regroup Documentation,有足够的信息供其他人使用,但简单地说,按索引和锚点重新聚集项目.石斑鱼作为索引链接。。。在

通过查看django模板标记,我发现了一种很好的方法{ifchanged}},值得一提以供将来使用。在

对象列表按字母顺序传递到模板:

Objects.get.all().order_by('title')

然后在我的模板中:

^{pr2}$

它是一个非常方便的一行代码在模板。在

类似于mp0int的答案,但在数据库级别添加了index

  • 使用.extra()将alphachar添加到查询q在这里可以得到对象,例如:

.extra(select={'index': "SUBSTR(headline,1,1)"})

相关问题 更多 >