0

我一直在寻找,找不到我要找的东西。我找到了一种在没有参数和关键字的情况下重定向 url 的方法——但是如何使用参数来实现呢?

我想重定向这个:

(r'^andelsboligforeninger/(?P<page>[\d]*?)/$', 'cooperatives'),

对此:

(r'^liste-over-andelsboligforeninger/(?P<page>[\d]*?)/$', 'cooperatives'),

它应该是永久重定向。这对 SEO 有好处,而且由于 googlebot,我收到了很多调试邮件。

4

2 回答 2

1

看来我已经在 django 文档中找到了答案——毕竟我看起来不够努力!

https://docs.djangoproject.com/en/1.1/ref/generic-views/

urlpatterns = patterns('django.views.generic.simple',
     ('^foo/(?P<id>\d+)/$', 'redirect_to', {'url': '/bar/%(id)s/'}),
)
于 2013-01-16T22:42:35.473 回答
0

首先,您需要对 url 进行一些更改。使用url函数,然后为 url 命名。您的 url 中有一些问题,例如您使用?P但没有为捕获组命名。其次[\d]*?,不需要,?因为*意味着可以有一个数字,也可以根本没有。因此,在最后考虑了所有上述错误和技术之后,您的 url 应该如下所示:

url(r'^liste-over-andelsboligforeninger/(?P<cooperative_id>\d*)/$', 'cooperatives', name="cooperatives")

然后在视图中,您可以使用反向 url 解析

redirect(reverse('cooperatives', kwargs={'cooperative_id': some_id}))
于 2013-01-16T18:23:20.453 回答