在Django 1.10中有一些重复页面的问题。当url .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")
页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:
url(
r'^(?P<category_slug>[-w]+)/$',
RedirectView.as_view(
pattern_name='cat',
permanent=True,
query_string=True
)
),