※このブログではサーバー運用、技術の検証等の費用のため広告をいれています。
記事が見づらいなどの問題がありましたらContactからお知らせください。

<前のページ
【2019年11月版】WindowsでDjangoの開発環境を構築しよう!
次のページ>
【初心者チュートリアル】Django2でブログ作成(Part2)〜アプリケーションを作成〜

【初心者チュートリアル】Django2でブログ作成(Part1)〜プロジェクトを作成〜

python Djangoチュートリアル python3 Django

投稿日:2019年11月5日

このエントリーをはてなブックマークに追加
Djangoは簡単にWebアプリケーションを作成できるフレームワークです。この記事は初心者の方向けのDjangoチュートリアルです。

はじめに

この記事について

DjangoはPythonのWebフレームワークです。ちなみにこのサイトMarsquaiブログもDjangoで作成されていたりします。PythonにはたくさんのWebフレームワークが存在しますが、Djangoはその中で最も世の中に情報の多いフレームワークでしょう。プログラミング初心者の方はフレームワークを選ぶ時、世の中に情報の多いものを選択するものをオススメします。

このTutorialではDjangoを学びながら簡単なBlogアプリケーションを作成していきます。

環境

  • python 3.6.8
  • pip 19.3.1

環境構築

インストール

まずはDjangoをインストールしましょう。今回はバージョン2.2.6を使います。

ターミナル
$ pip install django==2.2.6

確認

ちゃんと正しいバージョンのDjangoがインストールできているか確認しておきましょう。

ターミナル
$ python
Python 3.6.8 (default, Oct  7 2019, 12:59:55) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.get_version()
'2.2.6'

プロジェクトの作成

プロジェクトとは?

DjangoにおけるprojectはWebサイトを作成する際の作業ディレクトリのルートになります。このディレクトリにはWebサイト作成に必要なファイルが詰め込まれています。プロジェクトはdjango-adminコマンドで作成することができます。このdjango-adminコマンドはDjangoをインストールした段階で使用できるようになっています。

困った時は公式ドキュメントを参照しましょう。

作成

ターミナル
$ django-admin startproject sample_blog

コマンドを打つと必要なファイルが入ったディレクトリが作成されます。

ディレクトリ構成
sample_blog/
├── manage.py
└── sample_blog
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

sample_blog内に作成されたファイルはそれぞれ意味があります。簡単に解説しておきます。軽く呼んでわからない場合は読み飛ばしちゃってOKです。

  • manage.py : プロジェクトを管理するためのファイルです。django-adminのラッパーになっています。どのような動作をするかは引数で与えます。
  • sample_blog : サイトの大枠のディレクトリになります。
  • __init__.py : 空のファイルです。PythonはこのファイルがあるディレクトリをPythonのモジュールとして扱います。
  • settings.py : プロジェクトの設定を管理するためのファイルです。この状態ですでにデフォルトの設定が書き込まれています。
  • urls.py : サイトのURLをマッピングするファイルです。URLをviewに紐付けます。
  • wsgi.py : WSGI(Web Server Gateway Interface)の設定ファイルです。プロジェクトを公開するときに使います。

データベース

Djangoのデータベース管理

多くのWebサイトでデータベースが必要になるでしょう。データベースというとSQLなどで作成・管理するイメージが強い人もいるはず。

しかし、Djangoの場合はPythonだけ使えていれば簡単にデータベースの作成・管理を勝手にやってくれるORM(ObjectRelationalMapper)ライブラリが使われています。そのため覚えるのはPythonの使い方とmanage.pyのコマンドの打ち方だけでOKです!

作成

migrateコマンドを実行してみましょう。

はじめの状態では最低限管理に必要なデータベース、テーブルのみ作成されます。

ターミナル
$ cd sample_blog
$ python manage.py migrate

開発用サーバー

開発用サーバーとは

他のフレームワークで開発をしたことがある方は、Webアプリケーションの他にサーバーのインストールして、さらにそれを色々設定して...と、動かすまでの敷居が高くて大変な印象を持っているのではないでしょうか?

Djangoの場合、開発用サーバーというものが用意されていてすぐにDjangoのサイトを動かすことができます。この開発用サーバーはプロジェクトのソースの変更が自動で適用されたり、ログを表示してくれたりとても便利なものです。

しかし、一つ注意してほしいことは開発用サーバーは公開するサイトを動かす時には使わないでください。(開発用サーバーは並列の処理ができなかったり、プロセスの死活管理をしてくれません)公開するサイトを動かす時にはnginxgunicornを使うのが良いでしょう(これについては今後のPartで紹介します)。

では実際に起動してみましょう。

起動

ターミナル
$ python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
November 04, 2019 - 09:26:15
Django version 2.2.7, using settings 'sample_blog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

これでlocalhostのポート8000番にサイトが起動しました。ブラウザでhttp://localhost:8000を確認してみましょう。

下のようなDjangoのサンプルページが表示されればOKです。

サンプルサイトにアクセスするとGETHTTPRequestが送られStatusCode=200HTTPResponseをかえしたことがターミナルにログが表示されるはずです。

ターミナル
[06/May/2018 17:20:30] "GET / HTTP/1.1" 200 16348

開発用サーバーを停止するときにはCtrl+Cをおしてください。


さいごに

まとめ

  • Djangoのインストールのコマンドはpip install django
  • 新しくプロジェクトを作成する場合は django-admin startproject {プロジェクト名}
  • 開発用サーバーの起動はpython manage.py runserver

参考書籍

このエントリーをはてなブックマークに追加

<前のページ
【2019年11月版】WindowsでDjangoの開発環境を構築しよう!
次のページ>
【初心者チュートリアル】Django2でブログ作成(Part2)〜アプリケーションを作成〜

関連記事

記事へのコメント
1:名無しさん
2019年11月4日18:44

Djangoでサイト作ってみたくなりました☺