/ / Django zu AWS: favicon, robots.txt und sitemap? - Django, Amazon-Web-Services, Elastic-Beanstalk, robots.txt, Favicon

Django zu AWS: Favicon, robots.txt und Sitemap? - django, amazon-web-services, elastische beanstalk, robots.txt, favicon

Ich habe eine Django-Website mit diesem Tutorial zu Elastic Beanstalk bereitgestellt https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/

Aber ich habe keine Ahnung, wo und wie man eine favicon.ico, eine robots.txt und eine sitemap.xml ablegt. Irgendwelche Ideen?

Antworten:

1 für die Antwort № 1

Damit Ihre Sitemaps funktionieren, können Sie eine verwenden django.contrib.sitemaps Rahmen: Dokumente. Oder wenn Sie eine statische Anzahl von Seiten haben, tun Sie dies einfach so:

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

Für die favicon.ico platziere es in dein static Ordner und verwenden Sie dieses Vorlagen-Tag in Ihrer Vorlage:

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

Vergessen Sie nicht, alle Geräte zu unterstützen: vollständige Liste der Favoriten


1 für die Antwort № 2

Für die favicon.ico und sitemap.xml Sie können sie in die static/ Verzeichnis und verweisen auf sie in der Vorlage mit der statischen URL. Z.B.:

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

Ihre robots.txt ist etwas schwieriger (wie bei jeder Django-App). Sie können es in die ablegen templates Verzeichnis und in Ihrem urls.py habe folgendes:

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