0
0

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.

【手引書】 Django でWebアプリを開発する1歩目(Docker環境の構築から)

Posted at

Django を使えばPythonでSNSなどのWebアプリが作れる

SNSなどのようなWebアプリを作る場合、その方法はいくつかありますがPythonを使って開発したい場合は Django というフレームワークを使えば簡単に開発できます。本記事では0から新規アプリを立ち上げるまでの手順の備忘録を記します。

Dockerを使うためにRancher Desktopを入れる

ダウンロード

Rancher Desktopでは、Docker Desktopと同じようにDockerコマンドが使えます。今回はRancherDesktopを使用していきます。

公式サイトからダウンロードします。

ダウンロードしたらアプリケーションを起動して、設定を確認します。

私が変更した点はこの辺りくらいかと思います。
image.png

動作確認

ターミナルを開いて

docker compose ps

と打ち込んで、コマンドが認識されません的なエラーが起きなければ成功です。

Dockerの環境をプロジェクト用に整える

ここでは以下のサイトを参照していきます。

ファイル作成

Django のプロジェクト用のディレクトリを作成し、その中に次の3つのファイルとディレクトリを作成します。

├ Dockerfile
├ docker-compose.yml
├ requirements.txt
└ opt (←ディレクトリ)
Dockerfile
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
requirements.txt
Django==3.2.13 (←任意のバージョン)
psycopg2
docker-compose.yml
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サイトの開発)

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?