/ / Django to AWS: favicon, robots.txt e sitemap? - Django, Amazon-Web-Services, Elastic-beanstalk, Robots.txt, Favicon

Django ad AWS: favicon, robots.txt e sitemap? - Django, Amazon-Web-Services, Elastic-beanstalk, Robots.txt, Favicon

Ho implementato un sito Web Django su Elastic Beanstalk utilizzando questo tutorial: https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/

Ma, non ho idea di dove e come mettere un favicon.ico, un robots.txt e un sitemap.xml. Qualche idea?

risposte:

1 per risposta № 1

Per far funzionare le Sitemap, puoi usare a django.contrib.sitemaps struttura: docs. Oppure se hai una quantità statica di pagine fai semplicemente così:

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

Per il favicon.ico mettilo dentro il tuo static cartella e utilizzare questo tag modello nel modello:

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

Non dimenticare di supportare tutti i dispositivi: lista completa di favicon


1 per risposta № 2

Per il favicon.ico e sitemap.xml puoi metterli in static/ directory e fare riferimento a loro nel modello con l'URL statico. Per esempio.:

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

Il tuo robots.txt è un po 'più difficile (come con qualsiasi applicazione django). Puoi farlo cadere nel templates directory e nel tuo urls.py avere il seguente:

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