重定向:例如:/news--> /xx/yy/news 将 ‘django.contrib.redirects’ 添加到 INSTALLED_APPS 设置中。 将 ‘django.contrib.redirects.middleware.RedirectFallbackMiddleware’ 添加到 MIDDLEWARE_CLASSES设置中。 在数据库中创建一个django_redirect表。这个表只有site_id,old_path,new_path三个字段。 一旦创建了重定向,RedirectFallbackMiddleware类将完成所有工作。每当Django应用引发一个404错误,作为终极手段,该中间件将为所请求的URL在重定向数据库中进行查找。它将使用给定的old_path以及SITE_ID设置对应的站点ID查找重定向设置。
如果找到匹配项,并且new_path非空,它将重定向到new_path;
如果找到匹配项,单new_path为空,它将发送一个410HTTP头信息以及一个空向应。
如果为找到匹配项,该请求如常处理。 该中间件仅为404错误激活,将这个中间件放到列表最后,因为它是终极手段。 注意: 如果同时使用重定向和简单页面回退中间件,必须考虑先检查其中的哪一个。建议将简单页面放在重定向之前。 增加、变更删除重定向
通过管理界面: 如果已经激活了全自动Django超级管理界面,你应该能够在超级管理首页看到重定向区域。可以像编辑系统中其他对象一样编辑重定向。
重定向表现为django/contrib/redirects/models.py中的一个标准Django模型。所以可以通过Django数据库API来存取重定向对象。