Django - 通过通用视图加载 Robots.txt

Posted

技术标签:

【中文标题】Django - 通过通用视图加载 Robots.txt【英文标题】:Django - Loading Robots.txt through generic views 【发布时间】:2015-03-01 18:39:45 【问题描述】:

我已将 robots.txt 上传到生产服务器上的模板目录中。我正在使用通用视图;

from django.views.generic import TemplateView

(r'^robots\.txt$', TemplateView.as_view(template_name='robots.txt', content_type='text/plain')),

但是,当我在浏览器上加载 robots.txt 时,我得到一个 404 - 找不到页面。

有人可以建议需要做什么来解决这个问题。谢谢。

我应该指出,在本地环境中,这似乎是有效的。

【问题讨论】:

【参考方案1】:

终于明白了。我必须在 ^robots.txt$

中添加一个“/”
(r'^robots\.txt/$', TemplateView.as_view(template_name='robots.txt', content_type='text/plain')),

这是基本的!我假设默认情况下 APPEND_SLASH 它是 True 但是,在生产服务器上它不起作用。

如果有人可以提供一些见解,请告诉我。

【讨论】:

在您的应用程序设置中使用APPEND_SLASH = False 可以解决该问题,而无需在您的 URL 中添加斜杠。见:docs.djangoproject.com/en/1.8/ref/settings/…

以上是关于Django - 通过通用视图加载 Robots.txt的主要内容,如果未能解决你的问题,请参考以下文章

如果使用通用视图,是不是需要在 django 模板表单中填写动作属性

django:通用类视图 + POST = HTTP 405(不允许的方法)

Python 语言Django 框架的简化视图

通用视图中的 request.user 和 django 中的纯函数

Django:渲染视图后如何更新模型?

使用通用登录视图时出现“名称'django'未定义”错误?