Автор оригинала: Pankaj Kumar.
В этой статье мы рассмотрим различные типы ошибок HTTP, а затем узнаем, как использовать обработку ошибок Flask для устранения этих ошибок. Так что давайте начнем!
Зачем нам Нужна Обработка Ошибок?
Ошибка в веб-приложении может произойти по нескольким причинам. Это может быть связано с неправильным кодом в приложении или некоторыми плохими запросами пользователя или простоем сервера.
Поэтому очень важно справиться с этими ошибками. Браузеры, хотя по умолчанию обрабатывают ошибки HTTP для вас, вывод не совсем эстетичен.
Например, при создании приложения Flask вы могли столкнуться с 500 внутренними ошибками сервера.
Достаточно было бы простой строки, указывающей причину ошибки, вместо отображения нерелевантных данных.
Именно здесь на сцену выходят обработчики ошибок колбы.
С помощью обработчиков ошибок колбы мы можем:
- Настройте внешний вид страницы ошибок.
- Показывать пользователю только релевантные данные.
Распространенные ошибки HTTP
Некоторые из наиболее распространенных ошибок:
Переехал Навсегда | 301 |
Временно Переехал | 302 |
Плохой запрос | 400 |
Запрещенный | 403 |
не найдено | 404 |
Слишком Много Запросов | 429 |
внутренняя ошибка сервера | 500 |
Плохой Шлюз | 502 |
Услуга недоступна | 503 |
Тайм-аут шлюза | 504 |
Практическая работа с обработкой ошибок в колбе
Коды ошибок– 404 и 500 это самые распространенные ошибки, с которыми мы сталкиваемся каждый день.
Поэтому в этом разделе мы построим простой обработчик ошибок для 404 и 500. Синтаксис для других ошибок будет точно таким же.
В колбе мы используем встроенный декоратор error_handler .
Синтаксис таков:
@app.errorhandler(status_code) def function_name(error): return render_template('xyz.html'),status_code
Поэтому рассмотрим следующий пример применения колбы:
from flask import Flask, render_template app = Flask(__name__) @app.route('/blogs') def blog(): return render_template('blog.html') #Handling error 404 and displaying relevant web page @app.errorhandler(404) def not_found_error(error): return render_template('404.html'),404 #Handling error 500 and displaying relevant web page @app.errorhandler(500) def internal_error(error): return render_template('500.html'),500 #app.run(host='localhost', port=5000) app.run(host='localhost', port=5000)
В Blog.html:
Welcome to the Blog
В 404.html файл:
The webpage you are trying is not found
Здесь мы также используем изображение для отображения на веб-странице 404
Точно так же 500.html файл:
Something Went Wrong
Реализация
Теперь запустите сервер и перейдите к любой произвольной несуществующей конечной точке URL-адреса
Теперь, чтобы получить ошибку 500, намеренно замените несколько букв render_template () , скажем, render_template()
Теперь перезагрузите сервер и перейдите в “/блоги” URL. Теперь вы получите страницу 500 ошибок
Идеально!
Вывод
Вот и все, ребята !! Теперь вы также можете настроить страницы ошибок в зависимости от темы вашей веб-страницы. Пожалуйста, ознакомьтесь с нашими другими флеш-учебниками, чтобы узнать больше о колбе.
Увидимся в следующей статье !! Счастливое Кодирование 🙂