这是我们的 url conf 中的内容:
from django.views.generic import TemplateView
......
url(r'^robots\.txt$', TemplateView.as_view(template_name='robots.html')),
出于某种原因,我们在尝试访问 *.com/robots.txt 时被重定向到 ?next=robots.txt
我们缺少什么明显的东西吗?这似乎在 vagrant 环境中本地工作,但在生产环境中不起作用(通过 ?next= 重定向)
更新 1 没有明显的理由表明这将在 @login_required 装饰器或任何必需的登录功能后面......
update 2 果然,认证后就可以看到robots.txt了....
update 3 direct_to_template 已被弃用,我确信它曾经可以工作,但显然已在 django 1.5 中被弃用
更新 4 似乎这篇文章有一种方法可以为 TemplateView.as_view 强制 login_required:How to require login for Django Generic Views? 但在我们的情况下,这似乎是默认强制的?