/ / Django към AWS: favicon, robots.txt и sitemap? - django, amazon-web-services, elastic-beanstalk, robots.txt, favicon

Джанго в AWS: favicon, robots.txt и карта на сайта? - django, amazon-web-services, 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

За да можете да работите в Sitemap, можете да използвате a 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 е малко по-трудно (както при всяко приложение на django). Можете да я пуснете в templates директорията и във вашата urls.py имат следното:

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