松本家通信 The Matsumoto’s House Newsletter
URL : https://katsurao-diary.com
「松本家通信」という私が初めて制作したWebアプリケーションです。原発被災地である福島県葛尾村にて展示会などの活動を行っている松本家計画のホームページとして制作しました。作品等の情報公開機能およびメンバー限定の掲示板機能を有しています。
"The Matsumoto’s House Newsletter" is the first web application I have created. This is the website of "The Matsumoto House Project" which hold exhibitions and other activities in Katsurao Village, Fukushima Prefecture, a nuclear power plant affected area. It has a function for publishing information on works, etc. and a members-only bulletin board function.
- ユーザー情報
- ユーザー登録
- ログイン/ログアウト
- プロフィール登録/修正
- 情報公開
- データベース登録
- YouTubeデータ取得
- 掲示板
- 投稿
- コメント
- リアクション
- メール通知
- 一般ユーザーで「会員限定ページ」にログインする
- 「通知設定」からメール通知を設定をする
- 掲示板(メイン)から投稿する
- 各投稿をクリックし掲示板(コメント)に移動する
- 任意の投稿にリアクションをつける
- 任意の投稿にコメントをつける
- 投稿/コメント/リアクション は設定に応じて通知される
以下の実行環境での動作を確認しています。
- Ubuntu 16.04 LTS
- Python 3.9.1
アプリケーションを配置したいディレクトリにて「git clone」コマンドを実行してください。
$ git clone git@github.com:hiroki-yod/matsumoto_public.git
次のパッケージをインストールしてください。
pip install Django
pip install django-environ #環境変数
pip install django_bootstrap5 #CSS
pip install django-widget-tweaks #CSS
pip install google-api-python-client #YouTube Data API
pip install Pillow #画像
pip install isodate #時間
matsumoto_public(magage.pyがあるフォルダ)に .env という名前のファイルを作成し、次の内容を記入てください。
#matsumoto > settigs.py
#GitHub公開用の適当なSECRET_KEYです(本番環境で使用しないでください)
SECRET_KEY='%710m*zic)#0u((qugw#1@e^ty!c)9j04956v@ly(_86n$rg)h'
DEBUG=True
ALLOWED_HOSTS='localhost'
DATABASE_URL=sqlite:///db.sqlite3
#通知設定を使用しない場合は不要
EMAIL_HOST_USER='dummy@gmail.com'
EMAIL_HOST_PASSWORD='password'
DEFAULT_FROM_EMAIL='dummy@gmail.com'
#bbs > views.py
#Googleドライブを使用しない場合は不要
GOOGLE_DRIVE_URL='会員限定ページのGoogleドライブURL'
GOOGLE_CALENDAR_URL='会員限定ページのGoogleカレンダーURL'
#main > modules > youtube.py
#動画取得を使用しない場合は不要
API_KEY='Youtube Data API の API_KEY'
CHANNEL_ID='動画を取得するチャンネルのCHANNEL_ID'
データベースを生成します。
$ python manage.py migrate
Django開発用サーバーを立ち上げてアクセスする。
$ python manage.py runserver
仮想環境でサーバーを起動し、ローカル環境からアクセスする場合は、次のようにサーバーを立ち上げる。
$ python manage.py runserver 0:8000