次のようなディレクトリ構造に従ってテスト結果を生成するテスト ツールがあります。
test-results/${TEST-ID}/exec_${YYYYMMDD}_${HHMMSS}/
各execフォルダー内には、CSV、HTML レポート、グラフなどのファイルがいくつかあります。構造は常に同じであり、簡単にするためにデータベースは使用しません。
ここで、Django を使用して、これらのテスト結果を表示するための簡単な Web サイトを構築したいと考えています。テストの実行を相互に比較するなど、いくつかの基本的な機能を備えたレポート Web サイトを考えてみてください。
The Tutorialを読んで、Django アプリでは、models.py
を拡張するクラスを使用してデータを定義し、django.db.models.Model
後で API (例: など) を操作し、フレームワークがデータベース操作を処理する必要があることを理解しました。object.save()
object.delete()
私のデータは一連のテスト結果であり、データベースではなくファイル システム上にあります。
そうは言っても、データの抽象化を維持したいと思いますmodels.py
(つまり、MVC の抽象化を維持します)。Django アプリは、データを読み取るだけで済みます。たとえば、次のようになります。
TestResult.objects.all()
test-results
ディレクトリからすべての TestResults をロードしますTestResult.objects.filter(test_id=1)
TEST-ID 1 のすべての TestResults を返します等々。
データの更新は必要ありません。アプリはファイル システムからデータを読み取って表示するだけです。
Django を使用してこの動作を実現できますか?
私の現在の仮定は、抽象化レイヤーをどこかに記述する必要があるということです (Model
クラスを拡張し、特定のメソッドを上書きしますか?) が、これが最善の/正しいアプローチであるかどうかはわかりません。