/ / Django do AWS: favicon, robots.txt a sitemap? - django, amazon-web-services, elastický beanstalk, robots.txt, favicon

Django do AWS: favicon, robots.txt a mapa stránok? - django, amazon-web-services, elastic-beanstalk, robots.txt, favicon

Pomocou tejto príručky som vytvoril webovú stránku Django na Elastic Beanstalk: https://realpython.com/blog/python/deploying-a-django-app-to-aws-elastic-beanstalk/

Ale nemám potuchy, kde a ako dať favicon.ico, robots.txt a sitemap.xml. Nejaké nápady?

odpovede:

1 pre odpoveď č. 1

Ak chcete pracovať so súbormi Sitemap, môžete použiť funkciu django.contrib.sitemaps rámec: docs, Alebo ak máte statické množstvo stránok, postupujte takto:

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

Pre favicon.ico umiestnite ho dovnútra static a použiť túto značku šablóny vo svojej šablóne:

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

Nezabudnite podporiť všetky zariadenia: úplný zoznam favicons


1 pre odpoveď č. 2

Pre favicon.ico a sitemap.xml môžete ich vložiť do static/ adresár a odkazujú na ne v šablóne so statickou adresou URL. napr.:

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

tvoj robots.txt je trochu ťažšie (ako pri každej aplikácii django). Môžete ho hodiť do templates a vo vašom urls.py mať nasledovné:

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