【问题标题】:Django multiple view parameters and duplicated named urlsDjango 多个视图参数和重复的命名 url
【发布时间】:2009-11-06 20:01:10
【问题描述】:

我只是在思考是否使两个命名的 url 相同会产生任何问题。我试过了,它有效。 因此,例如,我有一个能够进行分页的视图:

def info(request, page_num = 1)    

我想同时称它为:

/info
/info/page/1

所以我做了这样的网址:

url(r'^info/$', 'views.info', name='info'),
url(r'^info/(?P<page_num>)\d+)/$', 'views.info', name='info'),

而且它似乎有效。这有什么问题,或者我应该以不同的方式命名我的第二个网址,例如 info_paginated

【问题讨论】:

    标签: django django-urls


    【解决方案1】:

    这并没有错,据我所知,这是非常标准的做法。我知道我这样做了,主要是当我使用与 Javascript 代码集成的 URL 并且我没有在页面加载时使用的参数时。

    【讨论】:

      【解决方案2】:

      完全没问题,但你可能想设置page_num = None,然后

      if page_num is None:
          return redirect(reverse('info',{'page_num':1})
      

      因为搜索引擎看到 yoursite.com/info 和 yoursite.com/info/1 并认为它们是重复的内容,如果你从一个重定向到另一个,你会没事的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-13
        • 1970-01-01
        • 2012-08-02
        • 2016-04-15
        • 2017-01-21
        • 1970-01-01
        • 2011-11-17
        • 2017-06-11
        相关资源
        最近更新 更多