Django 1.10 中的重复页面有一些问题。 当urls.py有如下代码时:
urlpatterns = [
...
url(r'^(?P<category_slug>[-\w]+)$', views.category_views, name='cat'),
...
]
views.py的一部分:
def category_views(request, category_slug):
category_name = get_object_or_404(Category, slug=category_slug)
models.py的一部分:
class Category(models.Model):
slug = models.SlugField(max_length=50, unique=True, blank=False, verbose_name=u"URL")
Pages site.com/category_slug?page=5 和 site.com/category_slug/?page=5 显示相同的内容。
然后我在urls.py中添加了下一个重定向:
urlpatterns = [
...
url(r'^(?P<category_slug>[-\w]+)$', views.category_views, name='cat'),
url(r'^(?P<category_slug>[-\w]+)/$', RedirectView.as_view(pattern_name='cat', permanent=True)),
...
]
现在我已经从site.com/category_slug/?page=5重定向到site.com/category_slug(没有查询参数),但需要site.com/category_slug?page=5
请告诉我在哪里修复它
根据 1.10 的文档 您只需将以下关键字参数
query_string = True
添加到您的网址:
url(
r'^(?P<category_slug>[-\w]+)/$',
RedirectView.as_view(
pattern_name='cat',
permanent=True,
query_string=True
)
),