15
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Part1 Djangoの説明

Djangoは,Pythonで書かれたWebアプリケーションフレームワークである.この記事では簡単にwebアプリケーションを作成するためのサーバー構築を説明する.この内容を発展させてReactとの連携,MySQL,PostgreSQLへの接続,PaaS上へのデプロイも可能である.

Djangoでできること

Webアプリケーション開発

ブログ,SNS,ECサイトなど,様々なWebアプリケーションを開発できる.

API開発

RESTAPIなどのAPIを開発できる.

データ管理

データベースとの接続,CRUD操作などが簡単にできる.

ユーザー認証

ユーザー登録,ログイン,ログアウトなどの機能を実装できる.

管理画面

開発したWebアプリケーションの管理画面を自動生成できる.

Djangoの特徴や利点

1.高速な動作

標準でキャッシュ機能が備わっており,大規模サービスにも対応できる.

2.開発効率の高さ

豊富な機能が標準搭載されており,開発時間を短縮できる.

3.使いやすさ

Pythonの構文に基づいており,初心者でも比較的習得しやすい.

4.セキュリティ

CSRF対策やSQLインジェクション対策など、セキュリティ機能が充実している.

5.拡張性

豊富なライブラリやサードパーティ製ツールが存在し,拡張性が高い.

Djangoの利用例

YouTube
Instagram
Pinterest
Spotify
Dropbox

Part2 Django環境構築

必要な環境

1.Python 3.6以上
2.Django
(3.仮想環境)

Dockerを用いて環境構築する方法は以下の記事で紹介している
https://qiita.com/tarakokko3233/items/39e91cd39a12d1507b06

1.Pythonのインストール

Python公式サイトから,OSに合ったインストーラーをダウンロードする.
Python公式サイト

ダウンロードしたインストーラーを開いてPythonをインストールする.

2.仮想環境を作成する(推奨)

仮想環境は,開発環境と本番環境を分離するために使用される.

仮想環境の作成

$ python -m venv venv

python -m venv venvcommand not found: pythonが出るならばpythonpython3と書き換えて実行すること.

カレントディレクトリにvenvファイルが作成される.(venvファイルはPython仮想環境を構築するためのフォルダと思ってください)

仮想環境のアクティベート

Mac用

$ source venv/bin/activate

Windows用

$ venv\Scripts\activate

3.pipのインストール

pipは,Pythonパッケージをインストールするためのツール.
仮想環境が有効化されている状態で,以下のコマンドを実行してpipをインストールする.

$ python -m ensurepip --upgrade

4.Djangoのインストール

仮想環境が有効化されている状態で,以下のコマンドを実行してDjangoをインストールする.

$ pip install django

python3で実行した人はpipでエラーが起きる場合があるのでpip3で実行すること

Part3 Djangoプロジェクトの作成

1.Djangoプロジェクトを作成する

プロジェクトを作成したい任意のディレクトリに移動する.(デバイスのルートディレクトリに作成するならば不要)
your/project/directryに任意のディレクトリを指定する.

$ cd your/project/directry

Djangoプロジェクトを作成する.
yourprojectnameは任意のプロジェクト名

$ django-admin startproject yourprojectname

2.Djangoアプリケーションを作成する

カレントディレクトリがyourprojectnameになっていることを確認する.
もしyourprojectnameでないならば以下のコマンドを実行.

$ cd yourprojectname

Djangoアプリケーションを作成.
yourappnameは任意のプロジェクト名

$ python manage.py startapp yourappname

3.設定ファイルの編集

yourprojectname/yourprojectname/settings.pyを開き,
INSTALLED_APPSの中に

yourprojectname/settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'yourappname', #これを追加
]

を追加する.これはDjangoにアプリケーションyourappnameを認識させるために必要である.

さらに
ALLOWED_HOSTSの中に

yourprojectname/settings.py
ALLOWED_HOSTS = [
    'localhost',
    '127.0.0.1',
]

を追加する.これは後ほどローカルのIPアドレス(開発環境のホスト名)でローカルサーバを立ち上げることを許可するために必要である.

4.ローカルで開発用サーバーが立ち上がるか確認

Djangoプロジェクトがうまく動作するかを確認する. 
カレントディレクトリがyourprojectnameであることを確認.

$ python manage.py runserver

コマンドライン上でこのように出力されるかを確認.

Performing system checks... 

System check identified no issues (0 silenced).  

You have unapplied migrations; your app may not work properly until they are applied. 
Run 'python manage.py migrate' to apply them.  

1月 01, 2000 - 00:00:00 
Django version 4.0, using settings 'yourprojectname.settings' 
Starting development server at http://127.0.0.1:8000/ 
Quit the server with CONTROL-C.

Edge ,Chrome ,Safari,Firefoxなどで

にアクセスして以下の画面になるかを確認する.

ad62a72f-9820-710b-48d8-3732916e5d02.png

以上でプロジェクト作成完了である.
開発用サーバーを閉じたいならばコマンドライン上でctrl+Cを入力すれば閉じられる.

これでDjangoプロジェクトを作成可能である.

補足 Djangoプロジェクトの階層構造

yourprojectname/
    manage.py
    
    yourprojectname/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
        
    yourappname/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py


manage.py
Djangoプロジェクトに対する操作を行うための様々なコマンドラインが定義されているファイル.

yourprojectname/_ _ init _ _.py
このディレクトリがPythonのパッケージであること知らせるための空のファイル.

yourprojectname/settings.py
Djangoプロジェクトの設定ファイル.

yourprojectname/urls.py
Djangoプロジェクト全体のURLの定義(エンドポイント定義)

yourprojectname/asgi.py
プロジェクトを提供するASGI互換のWebサーバーのエントリポイント

yourprojectname/wsgi.py
プロジェクトをサーブするためのWSGI互換のWebサーバーとのエントリーポイント

yourappname/_ _ init _ _.py
このディレクトリがPythonのパッケージであること知らせるための空のファイル.

yourappname/admin.py
Django管理画面でアプリケーションのモデルを管理するための設定ファイル.モデルの登録,一覧表示,編集画面の設定などを記述.

yourappname/apps.py
このアプリケーションの設定ファイル.
アプリケーションの名前,モデル,管理画面の設定などを記述する.

yourappname/migrations/_ _ init _ _.py
このディレクトリがPythonのパッケージであること知らせるための空のファイル.
migrations ディレクトリはデータベースマイグレーションのためのディレクトリ.
モデル(models.py)の変更に伴い,データベースのスキーマを変更するためのファイルが格納される.

yourappname/models.py
アプリケーションで使用するモデルを定義するファイル.
データベースのテーブルと関連するフィールドを定義する.

yourappname/tests.py
このアプリケーションのテストコードを記述するファイル.
モデルやビューの動作を検証するためのテストコードを記述する.

yourappname/views.py
URLと処理を関連付けるビューを定義するファイル.
ユーザーからのリクエストを受け取り,処理結果を返すコードを記述する.

上記は基本的なファイル構成であり、必要に応じて追加のファイルを作成することができる.

各ファイルの詳しい説明や使用法は以下の記事を参照

引用Djando公式ドキュメント
https://docs.djangoproject.com/ja/4.0/intro/tutorial01/

15
14
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
15
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?