nginxでより実践に近い環境を作ろうと思います。dockerやdocker-composeはすでにインストールされている前提で進めていきます。postgreSQL)dockerの公式ドキュメントを参考に進めていきます。後のnginxの利用も考えて、最終的に以下のようなディレクトリ構成になるようにします。requirements.txtDockerfileバージョンの指定以外は公式ドキュメントの通りです。/code/requirements.txtpipでインストールするものをここに記述します。バージョンはこのブログの投稿時点での最新のものです。Django==2.2.2psycopg2==2.8.3docker-compose.ymlPostgreSQLのバージョンは11に指定しています。コンテナごとにディレクトリを分けているので、webコンテナのbuildとvolumesのパスが公式ドキュメントとは異なる点に注意してください。以下のコマンドを使って、docker上でdjangoのプロジェクトを作成します。コンテナ内でコマンドを実行するものです。.コマンドが正常に終了すると、ローカルにsrc/mysite/settings.pyが作成されるので、それを以下のように編集します。これはdjangoがデータベースとしてPostgreSQLを利用するための設定です。}}動作確認コンテナを立ち上げて、ブラウザでページが正しく表示されるか確認します。docker-compose.ymlがあるディレクトリで以下のコマンドを実行してください。upブラウザでlocalhost:8000にアクセスして、以下の画面が表示されれば成功です。nginxでの開発環境の構築方法についてです。先ほど作成した環境にnginxの設定を追加する形で進めていきます。最終的には以下のようなディレクトリ構成になります。requirements.txtuWSGIの導入nginxをサーバとして利用する場合、クライアントはDjangoではなくnginxにリクエストを投げることになります。nginxはリクエスト内容を見て、レスポンスを返したり、djangoにリクエストを渡したりします。uWSGIはpipでインストールできるので、requirements.txtを以下のように記述します。Django==2.2.2psycopg2==2.8.3uwsgi==2.0.18uWSGIには設定ファイルであるuwsgi_paramsが必要です。以下をコピペして使ってください。中身は気にする必要はありません。$server_name;nginxコンテナの作成と設定nginxのコンテナを以下のように定義します。8000番ポートを開けて、設定ファイルや./static/ディレクトリをマウントしています。./static/のマウントはcss等の静的ファイルをnginxから配信するためです。webnginxのコンテナからdjangoのコンテナにリクエストを流すために、設定ファイルmysite_nginx.confを追加します。ローカルの8000番ポートでリクエストを受けて、/staticなリクエストであればnginxがレスポンスを返し、それ以外はdjangoにリクエストを流すという様な設定です。}}nginxおよびuWSGIの設定に関しては、以下のサイトが分かりやすいです。www.python.ambitious-engineer.comその他のコンテナの設定nginxコンテナ追加後のdocker-compose.ymlは以下のようになります。説明はコメントで入れています。dbstaticディレクトリの設定ページにcssやjavascript等の静的ファイルを反映させるために、src/mysite/settings.pyに以下を追記して、コマンドを実行します。collectstatic動作確認コンテナを立ち上げて、ブラウザでlocalhost:8000にアクセスしてページが正しく表示されるか確認します。up以下の画面が表示されれば成功です。日本語化とタイムゾーンを東京に設定するには、src/mysite/settings.pyを以下のように編集します。以下のコマンドでアプリを作成し、src/mysite/settings.pyに作成したアプリを追記します。Code】BlackとFlake8を使ってきれいなPythonコードを書く!!スポンサーリンクプロフィール応用情報取得。3度の学会発表経験あり。使用言語は主にPythonとSwift。(1)月別アーカイブ検索このブログについてプライバシーポリシースポンサーリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。