Django を使えばPythonでSNSなどのWebアプリが作れる
SNSなどのようなWebアプリを作る場合、その方法はいくつかありますがPythonを使って開発したい場合は Django というフレームワークを使えば簡単に開発できます。本記事では0から新規アプリを立ち上げるまでの手順の備忘録を記します。
Dockerを使うためにRancher Desktopを入れる
ダウンロード
Rancher Desktopでは、Docker Desktopと同じようにDockerコマンドが使えます。今回はRancherDesktopを使用していきます。
公式サイトからダウンロードします。
ダウンロードしたらアプリケーションを起動して、設定を確認します。
動作確認
ターミナルを開いて
docker compose ps
と打ち込んで、コマンドが認識されません的なエラーが起きなければ成功です。
Dockerの環境をプロジェクト用に整える
ここでは以下のサイトを参照していきます。
ファイル作成
Django のプロジェクト用のディレクトリを作成し、その中に次の3つのファイルとディレクトリを作成します。
├ Dockerfile
├ docker-compose.yml
├ requirements.txt
└ opt (←ディレクトリ)
FROM python:3.9
ENV PYTHONUNBUFFERED 1
USER root
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
ADD . /code/
RUN apt-get update
RUN apt-get -y install locales && \
localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm
RUN pip install -r requirements.txt
RUN apt-get install -y vim less
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
Django==3.2.13 (←任意のバージョン)
psycopg2
version: '3'
services:
python3:
restart: always
build: .
container_name: 'python3' # ←環境を2個以上作る場合はここが被らないようにする
working_dir: '/root/'
tty: true
volumes:
- ./opt:/root/opt
コンテナを起動
プロジェクトのディレクトリで次のコマンドを打ちます。
docker compose up -d --build
これでコンテナ起動までできました。
次回から同じコンテナに入るときは
docker compose up -d
をプロジェクトのディレクトリでコマンドします。
ここから先はこのコマンドでコンテナに入った状態で進めていきます。
Django アプリケーションを立ち上げる
本題の Django はここからなのに最後投げやりになってしまうのですが、あとは Django の公式サイトのとおりにやればアプリケーションの立ち上げと、さらにその先では簡単な投票サイトの作成までできます。
上記URLサイトのコマンド手順まとめ
Django確認
python -m django --version
プロジェクトを作成する
django-admin startproject mysite
サーバー立ち上げ
python manage.py runserver 0:8000
コントロール + C でサーバー停止
アプリケーション作成
python manage.py startapp アプリケーション名
これより先は上記URLサイトを参照(投票Webサイトの開発)