Jinja2テンプレート入門:ネットワーク設定の自動化を加速させる

なぜテンプレートエンジンが必要なのか? 従来のネットワーク運用では、エンジニアは異なるデバイスに対して類似したが少し異なる設定ファイルを手作業で作成する必要がありました。例えば、10台のルータに同じBGPピアリング構成を適用する場合、ピアリングのIPアドレスとAS番号が異なるだけで、10個の設定ファイルを手動で編集する必要がありました。これは時間がかかり、 ...

6月27日 22:34 投稿

HTML形式のテストレポート生成ツールの自作方法

unittestフレームワークを使用する際、HTML形式のレポートを生成するために`HTMLRunnerCN.py`をダウンロードすることが多いです。しかし、自分でHTMLRunnerを作成することも可能です。 HTMLRunnerはunittestのTextTestRunner()を模倣して作成されます。まずはTextTestRunner()の動作フローを見てみましょう。 TextTestRunnerの使用方法 import unittest suite = unitte ...

6月19日 23:26 投稿

Jinja2テンプレートにおけるフィルターの活用方法

フィルターとは何か Jinja2テンプレートエンジンでは、フィルターは変数の表示形式を加工・変換するための機能です。パイプ記号(|)を使って変数に適用され、オプションの引数も括弧で渡すことができます。複数のフィルターを連鎖させることも可能です。 組み込みフィルターの使用例 たとえば、文字列の長さを取得するには次のように記述します: {{ user.name|length }} ...

6月1日 19:43 投稿

Python Web開発入門:WSGI、Djangoインストール、主要フレームワーク比較

シンプルなWebサーバーの実装 以下は、socketモジュールを用いてHTTPリクエストを処理する最小限のWebサーバーの例です。 import socket sock = socket.socket() sock.bind(('127.0.0.1', 8080)) sock.listen(5) conn, addr = sock.accept() raw_data = conn.recv(1024).decode('utf-8') path = raw_data.split('\r\n')[0].split(' ')[1] conn.send(b'HTTP/1.1 200 OK\ ...

5月19日 15:33 投稿