/ / Django to AWS: favicon, robots.txt і карта сайта? - django, amazon-web-сервіси, еластичний пристрій, robots.txt, favicon

Django для AWS: favicon, robots.txt та sitemap? - django, amazon-web-послуги, elastic-beanstalk, robots.txt, favicon

Я розгорнув веб-сайт Django на Elastic Beanstalk, використовуючи цей підручник: https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/

Але я не маю уявлення, куди і як поставити favicon.ico, robots.txt і sitemap.xml. Будь-які ідеї?

Відповіді:

1 для відповіді № 1

Для роботи ваших мап сайту можна скористатися django.contrib.sitemaps рамки: документи. Або якщо у вас є статична кількість сторінок, як це зробити:

urlpatterns = [
# your robots.txt (and/or humans.txt) file:
url(r"^robot.txt$", TemplateView.as_view(
template_name="txt/robots.txt",
content_type="text/plain"
)),
# your static sitemap:
url(r"^crossdomain.xml$", TemplateView.as_view(
template_name="txt/sitemap.xml",
content_type="application/xml"
)),
]

Для favicon.ico помістіть його всередині себе static папку та використовуйте цей тег у вашому шаблоні:

<link rel="icon" href="{% static "path/to/favicon.ico" %}" sizes="...">

Не забудьте підтримати всі пристрої: повний список фавіконів


1 для відповіді № 2

Для favicon.ico і sitemap.xml ви можете помістити їх у static/ каталог і посилайтеся на них у шаблоні зі статичною URL-адресою. Наприклад:

<link rel="shortcut icon" type="image/png" href="{{STATIC_URL}}/favicon.ico"/>

Твій robots.txt трохи складніше (як у будь-якому додатку джанго). Ви можете опустити його в templates директорії та у вашому urls.py мають таке:

urlpatterns = patterns("",
...
(r"^robots.txt$", TemplateView.as_view(template_name="robots.txt", content_type="text/plain")),
)