/ / Django do AWS: favicon, robots.txt i sitemap? - django, serwisy amazon-web, elastic-beanstalk, robots.txt, favicon

Django do AWS: favicon, robots.txt i sitemap? - django, serwisy amazon-web, elastic-beanstalk, robots.txt, favicon

Zainstalowałem stronę Django do Elastic Beanstalk za pomocą tego samouczka: https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/

Ale nie mam pojęcia, gdzie i jak umieścić plik favicon.ico, robots.txt i sitemap.xml. Jakieś pomysły?

Odpowiedzi:

1 dla odpowiedzi № 1

Aby uzyskać działanie map witryn, możesz użyć django.contrib.sitemaps struktura: docs. Lub jeśli masz statyczną liczbę stron, po prostu zrób tak:

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"
)),
]

Dla favicon.ico umieść go w swoim wnętrzu static folder i użyj tego szablonu w swoim szablonie:

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

Nie zapomnij obsługiwać wszystkich urządzeń: pełna lista favikonów


1 dla odpowiedzi nr 2

Dla favicon.ico i sitemap.xml możesz umieścić je w static/ i odwołaj się do nich w szablonie ze statycznym adresem URL. Na przykład.:

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

Twój robots.txt jest nieco trudniejsze (jak w przypadku każdej aplikacji django). Możesz upuścić go do templates katalog i twój urls.py mieć następujące:

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