Простой способ добавить robots.txt в Django-проект

    Общий рейтинг статьи: 0 (проголосовало 0 )
    Опубликовано:  [просмотров 175]


    Продолжаем рассматривать некоторые особенности разработки Django-приложений и сегодня мы поговорим о статических файлах в корне сайта.

    В том случае если вы не используете CMS на базе Django-framework, а разрабатываете свой сайт с нуля, то вам понадобится добавить статический файл robots.txt в корень сайта и сегодня мы рассмотрим простой способ добавить статический контент к нашему сайту.

    Этот метод применим не только к файлам robots.txt, но и к любым другим статичным файлам которые некоторые сервисы требуют разместить в корне сайта для подтверждения прав владения сайтом и т.п.

    Современный подход подразумевает использование TemplateView, а весь статический контент мы поместим в шаблон /templates/robots.txt.html, после чего в файл urls.py мы добавляем "однострочник" который отобразит наш шаблон ничего в нем не меняя:

    from django.views.generic import TemplateView


    urlpatterns = [
    ...
    url(r'^robots\.txt$', TemplateView.as_view(template_name='robots.txt.html'), name="robots"),
    ...
    ]

    Вот такой простой и элегантный метод.


    Связанные записи в блоге

    Обсуждение статьи
    Вопрос нашего пользователяЕсть небольшой недочёт. Для robots.txt надо еще параметр content_type='text/plain' добавлять.
    Ответ на комментарийСпасибо за уточнение!
    Действительно так правильнее, хотя мне кажется, что и без указания типа контента должно взлететь.
    url(r'^robots\.txt$', TemplateView.as_view(template_name='robots.txt.html', content_type='text/plain'), name="robots"),

    Ваш комментарий: