9 окт. 2008 г.

4 самых популярных traceback'ов новых проектов на django

За последние 2-3 недели начал сразу несколько проектов на django. В процессе deployment'a составил список 4 ошибок, которые я совершаю с завидным постоянством, о чем django потом мне не стесняясь сообщает через traceback'и на почту.

Конечно, все описанное ниже тривиально, но надеюсь кому-нибудь все ж будет полезно.

1. Нет файла robots.txt в корне django сайта/проекта.

Поисковые боты его хотят, а его нет - плохо. Решение, как всегда есть, да ещё и не одно:

http://code.google.com/p/django-robots/ - апликация для django, которая решает проблему с robots.txt, причем, совместима с sitemaps и может с ним как-то хитро взаимодействовать. Серьезный минус, как всегда, в том, что надо эту апликацию за собой таскать...

http://forum.webfaction.com/viewtopic.php?id=760 - в этом топике придумали не плохой вариант решения проблемы (вроде даже сниппет такой есть).

## В views.py вашего приложения


from django.http import HttpResponse

def robots(request):
return HttpResponse(open('robots.txt').read(), 'text/plain')


## В urls.py


(r'^robots.txt$', 'вашпроект.вашаапликациясфункциейrobots.views.robots'),



2. Нет шаблона страницы 404.html ошибки 404



Для решения данной проблемы я уже придумал целый набор настроек с сеттингах, которые через context_processor подставляют в страницу ошибки информацию о проекте, местонахождения его в траке и пр. Публиковать сюда пока не стану, если нужно - пишите в комментах.



3. Нет шаблона 500 ошибки



Также, как и с предыдущим.



4. Нет файла favicon.ico в корне сайта



Эта ошибка в общем-то к django прямого отношения и не имеет. Просто браузеры хотят получить favicon для сайта, даже если в css и в странице ниче про нее не сказано. Подойдет:




<link rel="icon" href="{{MEDIA_URL}}favicon.ico" type="image/x-icon">

<link rel="shortcut icon" href="{{MEDIA_URL}}favicon.ico" type="image/x-icon">




если конечно favicon.ico и вправду лежит в media папке.

Комментариев нет: