django
April 12

Создание robots.txt в Django

В settings.py должны быть настроены пути к templates:

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        "DIRS": [BASE_DIR / "templates"],  # new
        "APP_DIRS": True,
        "OPTIONS": {
            "context_processors": [
                "django.template.context_processors.debug",
                "django.template.context_processors.request",
                "django.contrib.auth.context_processors.auth",
                "django.contrib.messages.context_processors.messages",
            ],
        },
    },
]

Создайте в папке templates вашего приложения новый файл robots.txt с тестовым содержимым. Например:

User-Agent: *
Disallow: /

Host: site.ru # замените на свой домен

Теперь заходим в urls.py и добавляем настройки:

from django.contrib import admin
from django.urls import path
from django.views.generic.base import TemplateView  # новый импорт

urlpatterns = [
    path("admin/", admin.site.urls),

    # указываем пути, тип контента и шаблон
    path(
        "robots.txt",
        TemplateView.as_view(template_name="robots.txt", content_type="text/plain"),
    ),
]

Сохраняем код, запускаем сервер. Теперь у вас есть файл robots.txt