Django на Nginx и Apache: где обрабатывать ошибки 404 и 500? - PullRequest
4 голосов
/ 24 сентября 2010

Я знаю, что в django есть 404 обработки ошибок.Но лучше ли поместить этот конфиг в nginx?

Этот поток ST имеет решение для его размещения.- /1054398/nginx-nastroika-stranitsy-404

Так все это используют при использовании nginx?
Я создал свои собственные 404.html & 500.html в теме сайтов, хочу их отобразить.

Ответы [ 3 ]

3 голосов
/ 26 сентября 2010

Вы не упомянули никаких причин, по которым вы хотели бы разместить эти страницы на сервере Nginx. Я бы порекомендовал сохранить его с остальной частью вашего сайта, то есть на сервере Django. Перенос части вашего сайта на сервер Nginx - это хорошая идея для решения проблемы масштабируемости, но она усложняет ваше развертывание. Я, конечно, надеюсь, что вы не видите значительную часть трафика вашего сайта, переходящего на страницы ошибок!

3 голосов
/ 27 сентября 2010

Я не знал, как настроить ошибки 404 и 500 в Django.Спасибо «Намнатулько», который помог мне.

Вот шаги:

  1. Создать 2 страницы 404.html & 500.html
  2. Поместить их в папку шаблонов модулей
  3. В ваших модулях urls.conf введите следующие две строки:

    handler404 = "myproject.mymodule.views.redirect_page_not_found"   
    handler500 = "myproject.mymodule.views.redirect_500_error"
    
  4. На ваш взгляд, определите функции

    def redirect_page_not_found(request):
      return render_to_response('logreg/404.html', {}, context_instance=RequestContext(request));     
    def redirect_500_error(request):
      return render_to_response('logreg/500.html', {}, context_instance=RequestContext(request));     
    
  5. Проверьте его, указав неправильный URL-адрес, например - www.mydomain.com/aaaaaaaaaaaaaaaa

  6. Чтобы проверить ошибку 500, в вашем представлении, в вашем render_to_response, введите неправильный URL-адрес.*Это оно.Вы должны быть установлены.
1 голос
/ 26 сентября 2010

Я рекомендую использовать обработчик in-Django 404/500. Вы можете предлагать полезные альтернативные варианты навигации в стиле страницы, который соответствует остальной части вашего сайта.

Убедитесь, что вы не возвращаете страницу , говорящую об ошибке, но имеющую статус возврата 200 - человек поймет, что это ошибка, а программный доступ - нет. Я избегаю говорить «поисковые системы» здесь, но правда в том, что они, вероятно, будут представлять 98% + ваших посетителей, не являющихся людьми. Подробнее см. Подклассы HttpResponse .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...