/ / Django vers AWS: favicon, robots.txt et plan du site? - django, amazon-web-services, élastique-beanstalk, robots.txt, favicon

Django to AWS: favicon, robots.txt et sitemap? - Django, amazon-web-services, elastique-haricot, robots.txt, favicon

J'ai déployé un site Web Django sur Elastic Beanstalk à l'aide de ce didacticiel: https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/

Mais, je n'ai aucune idée où et comment mettre un favicon.ico, un robots.txt et un sitemap.xml. Des idées?

Réponses:

1 pour la réponse № 1

Pour faire fonctionner vos plans de site, vous pouvez utiliser un django.contrib.sitemaps cadre: docs. Ou si vous avez une quantité statique de pages, faites comme ceci:

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

Pour le favicon.ico placez-le à l'intérieur de votre static dossier et utilisez cette balise de modèle dans votre modèle:

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

N'oubliez pas de prendre en charge tous les appareils: liste complète des favicons


1 pour la réponse № 2

Pour le favicon.ico et sitemap.xml vous pouvez les mettre dans le static/ répertoire et faites-y référence dans le modèle avec l'URL statique. Par exemple.:

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

Votre robots.txt est un peu plus difficile (comme avec n'importe quelle application django). Vous pouvez le déposer dans le templates répertoire et dans votre urls.py avoir les éléments suivants:

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