ホームページ > バックエンド開発 > Python チュートリアル > Python Web 開発におけるエラー処理スキル (パート 2)

Python Web 開発におけるエラー処理スキル (パート 2)

WBOY
リリース: 2023-06-17 08:15:15
オリジナル
1270 人が閲覧しました

Python Web 開発におけるエラー処理スキル (パート 2)

Python Web 開発では、エラー処理は重要な部分です。アプリケーションでエラーが発生した場合、適切なエラー処理を行わないと、アプリケーションがクラッシュしたり、ページが応答しなくなったりする可能性があります。この記事では、エラーが発生した場合でもアプリケーションが正常に実行されるようにするための、Python Web 開発のエラー処理のヒントをいくつか紹介していきます。

  1. try-Except ステートメントを使用して例外を処理する

Python では、try-Except ステートメントを使用して例外を処理します。アプリケーションでエラーが発生すると、例外がスローされ、実行が停止します。ただし、try-excel ステートメントを使用すると、アプリケーションで例外をキャッチし、エラーが発生したときに代替コードを実行できます。

たとえば、次のコード ブロックは、try-excel ステートメントを使用して Python Flask アプリケーションで例外を処理する方法を示しています。

1

2

3

4

try:

    # Some code that might raise an exception

except:

    # Code to be executed if an exception is raised

ログイン後にコピー

上記のコード例では、try ステートメントに例外が含まれています。コードがスローされる可能性があります。例外が発生した場合は、Except ステートメントが例外をキャッチし、指定されたフォールバック コードを実行します。

  1. ログ モジュールを使用したエラーのログ記録

Python では、ログ モジュールはアプリケーション イベントを記録するための強力なツールです。 Python Web 開発では、ログ モジュールの一般的な使用法は、エラーをログに記録することです。アプリケーションでエラーが発生すると、ログを確認してエラーの原因を理解できるように、情報がログ ファイルに記録されます。

以下は、Python Flask とログ モジュールを使用してエラーをログに記録するためのサンプル コードです:

1

2

3

4

5

6

7

8

9

10

11

12

13

import logging

from flask import Flask

 

app = Flask(__name__)

app.logger.setLevel(logging.ERROR)

 

@app.route('/')

def index():

    try:

        # Some code that might raise an exception

    except Exception as e:

        app.logger.error('Error occurred: %s', e)

        return 'An error occurred. Please try again later.', 500

ログイン後にコピー

上記のコード例では、app.logger.setLevel(logging.ERROR) ステートメントによってログが記録されます。アプリケーションのレベルは ERROR レベルに設定されます。これは、アプリケーションでエラーが発生した場合、それがログ ファイルに記録されることを意味します。

try ステートメントでは、キャッチしてログに記録したい例外を挿入できます。この場合、考えられるすべての例外をキャッチするために Exception クラスを使用しました。

最後に、try ステートメントで例外が発生した場合は、Except ステートメントがアプリケーションのログに挿入され、エラー メッセージがユーザーに表示されます。

  1. Flask-Bootstrap と Flask-WTF を使用してエラー メッセージを表示する

Flask-Bootstrap と Flask-WTF は、Web 開発を簡素化する 2 つの人気のある Python Flask 拡張機能です。その中で、Flask-Bootstrap は、アプリケーションの UI の設計を容易にする CSS フレームワークの基本セットを提供します。 Flask-WTF は、使いやすいフォーム処理ツールを提供します。

Python Web 開発では、これら 2 つのライブラリの一般的な使用法は、エラー メッセージを表示することです。アプリケーションでエラーが発生した場合、これらのライブラリを使用してエラー メッセージを表示し、ユーザーがエラーの原因を理解して適切な措置を講じることができます。

以下は、Python Flask アプリケーションで Flask-Bootstrap と Flask-WTF を使用してエラー メッセージを表示する方法を示すサンプル コードです。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

from flask import Flask, render_template, redirect, url_for

from flask_bootstrap import Bootstrap

from flask_wtf import FlaskForm

from wtforms import StringField, PasswordField, SubmitField

from wtforms.validators import DataRequired, Email

 

app = Flask(__name__)

app.config['SECRET_KEY'] = 'secret'

bootstrap = Bootstrap(app)

 

class LoginForm(FlaskForm):

    email = StringField('Email', validators=[DataRequired(), Email()])

    password = PasswordField('Password', validators=[DataRequired()])

    submit = SubmitField('Submit')

 

@app.route('/login', methods=['GET', 'POST'])

def login():

    form = LoginForm()

    if form.validate_on_submit():

        # Login logic here

        return redirect(url_for('profile', username=form.email.data))

    return render_template('login.html', form=form)

 

@app.errorhandler(404)

def page_not_found(e):

    return render_template('404.html'), 404

 

@app.errorhandler(500)

def internal_server_error(e):

    return render_template('500.html'), 500

ログイン後にコピー

上記のコード サンプルでは、 LoginForm という名前のフォームと、Flask-Bootstrap を使用してフォームのスタイルを設定します。 /login ルートでは、LoginForm を使用してフォーム データを検証します。フォームの検証が成功すると、ユーザーはプロフィール ページにリダイレクトされます。

page_not_found ルートと external_server_error ルートでは、Flask のエラー ハンドラーを使用して 404 エラーと 500 エラーを処理します。これらのルートでは、Flask-Bootstrap を使用して簡単なエラー メッセージを表示し、エラーが発生したことをユーザーに伝えます。

概要

エラー処理は、Python Web 開発の重要な部分です。この記事では、try-excel ステートメントを使用して例外を処理すること、ログ モジュールを使用してエラーを記録すること、Flask-Bootstrap と Flask-WTF を使用してエラー メッセージを表示することなど、いくつかの一般的な Python Web 開発エラー処理テクニックを紹介しました。これらのテクニックを学ぶことで、アプリケーションでの例外をより適切に処理し、エラーが発生した場合でもアプリケーションの実行を確実に継続できるようになります。

以上がPython Web 開発におけるエラー処理スキル (パート 2)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート