1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Pythonでwebサイトの構築 Part1 Dockerを利用した環境構築

Last updated at Posted at 2022-08-28

1 ,はじめに

本記事では、Pythonを用いたwebサイトの実装を行っています。

ローカル環境で簡単なブログサイトを作成することでサーバーサイドで行われていることや、フロントエンドへの反映など基本的な知識の紹介を行います。

ソースコードはGitHubに記載しています。

環境構築

まず初めにするべきこととしてPython(Django)を正常に動作させるための環境をローカルに作成する必要があります。

前提

実行OS
Windows11
性能
CPU : Corei7-11世代
GPU : Intel iris(純正グラフィックス)
メモリ : 16GB
SSD : 512GB
webサイト構築をプログラミングで行うには最低でもCore i5以上かつメモリ8GB以上が望ましいです
環境構築
本記事ではDockerを利用して仮想環境で開発環境の構築をしました
Dockerを使う理由としては実際の開発現場を想定して行いたかったからです
pythonを用いるため仮想環境venvやAnacondaを使ってもOKです

Dockerを用いた環境構築

ここから具体的なDockerを用いた構築を行います。

ここではDokerのインストールは行っているものとします。

ディレクトリ構成は以下のようにします。
ディレクトリ構成
/Desktop/blog_app/

ここではDesktop内に今回作成するサイトのプログラムを書いていこうと思います
そのためディレクトリに関しては任意の場所に作成してください

作成したディレクトリ内に以下のファイルを作成追加してください
blog_app/
         Dockerfile
         docker-compose.yml
         requirements.txt

これらの3つのファイルの中身について見ていきます。

docker-compose.yml
version: '3'
services:
  db:
    image: postgres
    ports:
      - "5432:5432"
    volumes:
      - ./db_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
  web:
    build: .
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

※ここでは実験的にPsotgresqlの環境を構築していますがDajngoプロジェクト立ち上げ時にSQLite3というデータベースが自動で構築されるので今回はそちらを利用します。

Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
requirements.txt
Django==2.2.17
django-bootstrap4==2.3.1

これらのファイル作成ができたら次はDjangoのプロジェクト、サーバーの開始です。

Djangoのプロジェクト作成

docker-composeコマンドを利用し上述したファイルの条件通りの環境(Docker コンテナ)を構築します。

ターミナル
docker-compose run web django-admin.py startproject [project_name] .
本記事ではproject_nameをblogとします

上記コマンドを実行するとblog_appディレクトリ内に以下のようなプロジェクトファイルが生成されます。

blog_app/
         manage.py
         blog(project_name)/
             __init__.py
             settings.py
             urls.py
             asgi.py
             wsgi.py

ここまででコンテナの作成およびDjangoプロジェクトの作成は完了です。

次はコンテナを起動しDjangoのスタートページを表示してみましょう。

Djangoサーバー開始

blog_appディレクトリにおいてターミナルで以下のコマンドを実施し、コンテナを起動してください。

ターミナル
docker-compose up

以下のようなログが表示されると成功です。

ターミナル
blog_app-web-1  | Django version 2.2.17, using settings 'blog.settings'
blog_app-web-1  | Starting development server at http://0.0.0.0:8000/
blog_app-web-1  | Quit the server with CONTROL-C.

下から2行目のhttp://0.0.0.0:8000 にブラウザからアクセスしてみましょう。
Djangoスタートページが表示されれば成功です。
django31_welcome.png

はじめは英語表記になっていますがsettings.pyを以下のように変更すれば日本語表記になります。

settings.py
#settings.pyの112行目あたりに記載
LANGUAGE_CODE = 'ja'#日本語表記

TIME_ZONE = 'Asia/Tokyo'#タームゾーンを東京に変更

ここまでが環境構築編になります。
次回から実際にblogサイトの構築編に入ります。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?