Skip to content

Latest commit

 

History

History
51 lines (46 loc) · 3.1 KB

architecture.md

File metadata and controls

51 lines (46 loc) · 3.1 KB

アーキテクチャ

概要

まず、ユーザからのHTTP(S)リクエストを./digigru/urls.pyが受け取り、各ページ用のurls.pyに流します。次に、urls.pyを経由してviews.pyにアクセスします。ここで、データの永続化や再構成をする場合はmodels.pyを介して行われます。templateを用いたフロントエンドの生成も、このview.pyにて行われます。最後に、HTTPレスポンスがviews.pyからユーザに対して返却されます。

                    ユーザ
    HTTPリクエスト  |      ^
                   v      |
                 urls.py  |
    対象のviewに    |      | HTTPレスポンス
   リクエストを渡す  v      |
models.py   <---->  views.py <---- {filename}.html
            データの          template
            読み書き           の利用

アプリケーションアーキテクチャ

本アプリケーションは、Djangoフレームワークを用いたシェアードナッシングアーキテクチャで構成されます。詳しくはMozillaのドキュメントを参照してください。

ディレクトリ構成

├── account  # アカウントに関する処理が責務です
├── bbs      # 掲示板に関する処理が責務です
├── blog     # ブログに関する処理が責務です
├── digigru  # アプリケーション全体の構成管理が責務です
├── docs     # ドキュメント類が含まれます
├── home     # トップページに関する処理が責務です
├── issue    # バグ報告・機能要望ページに関する処理が責務です
├── member   # メンバー一覧ページに関する処理が責務です
├── nginx    # Nginxに関する設定ファイル類が含まれます
├── project  # Projectに関する処理が責務です(未実装)
├── ringi    # 稟議に関する処理が責務です
├── static   # CSSに関する静的ファイル類が含まれます
├── tool     # ツール(技術)に関する処理が責務です
└── work     # 企画に関する処理が責務です

ディレクトリ内部のファイルの説明

accountディレクトリを例にとります。

├── fixture         # デフォルト用のデータを格納するためのディレクトリ
├── migrations      # モデルのマイグレーション設定を格納するためのディレクトリ
├── templates       # HTMLテンプレートを格納するためのディレクトリ
├── admin.py        # 本ディレクトリに関する管理者用のファイル
├── apps.py         # 本ディレクトリの設定用ファイル
├── forms.py        # フォームフィールドの記述を行うファイル
├── models.py       # モデルを定義するファイル
├── tests.py        # テスト用のファイル
└── urls.py         # ディレクトリ内部のルーティングを定義するファイル