gpt4 book ai didi

Django:识别提供重复内容的网址并设置规范链接

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:39:51 25 4
gpt4 key购买 nike

模型.py

class People(models.Model):
name = models.CharField(max_length=16)
meters_away = models.IntegerField()

让我们填充数据库:

>>> from people.models import People
>>> a = People()
>>> a.name = 'George'
>>> a.meters_away = 15
>>> a.save()
>>> b = People()
>>> b.name = 'Jim'
>>> b.meters_away = 10
>>> b.save()

假设我们有一个 url 返回 x 米范围内的所有人:

http://example.com/range/<meters>

此 url 方案接受如下 3 次命中:

  1. http://example.com/range/20
  2. http://example.com/range/30
  3. http://example.com/range/40

这些点击将创建以下查询:

>>> hit1 = People.objects.filter(meters_away__lt=20)
>>> hit2 = People.objects.filter(meters_away__lt=30)
>>> hit3 = People.objects.filter(meters_away__lt=40)

地点:

>>> list(hit1) == list(hit2) == list(hit3)
>>> True

这意味着example.com , 将提供 3 个具有相同内容的不同 url。

从 SEO 的角度来看,如何以附加规范 url 的方式过滤所有可能的 url(米:21、22、23、24、30、40 等)?

最佳答案

按照我对您问题的理解,您可能希望获得与当前距离(例如 m 米)产生相同结果的以米为单位的最大距离:

next_number = People.objects.filter(meters_away__gte=m).order_by('meters_away')[:1]
next_number = next_number[0] if next_number else m

规范 url 将是:

http://example.com/range/<next_number>

关于Django:识别提供重复内容的网址并设置规范链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40164403/

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