
インポートに気を付ける
密結合のコードを避ける
バックエンドデータベースが利用できない場合を処理する
except
文を作成することに決めたと
します。
view_the_log
のコードは次のように修正します。
...
@app.route('/viewlog')
@check_logged_in
def view_the_log() -> 'html':
try:
with UseDatabase(app.config['dbconfig']) as cursor:
...
except mysql.connector.errors.InterfaceError as err:
print('
データベースが動作していますか?
エラー:
', str(err))
except Exception as err:
print('
何か問題が発生しました:
', str(err))
...
コードの先頭に
import mysql.connector
を追加すると、この
except
文は正しく動作しま
す。この修正の結果、データベースが見つからないときには、
Web
アプリケーションはデータベース
が動作しているかを確認するように通知するようになります。
修正後のコードは問題なく機能します。そして何が起こっているかもわかりますが、この修正は好
ましくありません。
このような修正は、
vsearch4web.py
のコードが
MySQL
データベースと密結合になってしま
うという問題があります。具体的には、
MySQL Connector ...