从环境变量和模板中控制robots.txt文件。
项目描述
Django Env Robots (.txt)
通过设置环境变量,从生产 | 阶段 | 等服务器提供不同的robots.txt。规则通过模板管理。默认情况下,它完全排除robots。
安装
从PyPI安装
pip install django-env-robots
然后添加以下内容到您的项目的INSTALLED_APPS
。
'django_env_robots',
用法
settings.py
设置以下内容
SERVER_ENV
标识服务器的性质,因此将使用robots.txt模板。
例如
SERVER_ENV = 'production'
urls.py
from django_env_robots import urls as robots_urls
...
urlpatterns = [
path("robots.txt", include(robots_urls)),
]
robots模板
为每个将使用的SERVER_ENV创建相应的模板文件。这些位于您的项目的templates
目录中的robots
子目录中。
例如,如果SERVER_ENV
可以是production
或stage
,则创建
templates/robots/production.txt
templates/robots/stage.txt
例如
User-agent: *
Disallow: /admin/
Sitemap: https://www.example.com/sitemap.xml
Sitemap: https://www2.example.com/sitemap.xml
其他考虑因素
从Whitenose公共目录提供robots.txt将被此应用程序覆盖。这是由于whitenoise的中介行为 - 完全正确,但请注意这一点。