3
4

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 5 years have passed since last update.

【プログラミング初心者】Django tutorial -- Part 1--

Posted at

はじめに

個人用のメモ書きです。Djangoの公式ドキュメント「はじめてのDjangoアプリ作成」をもとに作成しています。
環境

  • PC : MacBook Air (13-inch, Early 2014)
  • OS : macOS Mojave Ver. 10.14.2
  • python : Ver. 3.7
  • Django : Ver. 2.1.5

前提条件

Python、Djangoは既にインストール済であることを前提としています。

完成イメージ

ブラウザ上に「Hello, World!」を表示します。
image.png

プロジェクトを作成する

デモ用にプロジェクトを新規作成します。プロジェクト名は 「sample_project」とします。

コマンドライン
$ django-admin startproject sample_project

以下のファイルが生成されます。

sample_project/
    manage.py
    sample_project/
        __init__.py
        settings.py
        urls.py
        wsgi.py

外側のsample_project/ ルートディレクトリはDjangoに依存しないため、名前は好きなものに変更できます。既に存在するディレクトリにプロジェクトを作成する場合は、プロジェクト名に続いてディレクトリを入力して実行します。

コマンドライン
$ django-admin startproject sample_project (任意のディレクトリ)

なお、プロジェクト名に 「-(ハイフン)」は使用できません。また、プロジェクト名に限らず、予約語や組み込み関数名と衝突しないよう注意しましょう。

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

プロジェクトを作成したら、次はアプリケーションを作成します。アプリケーション名を「app1」とします。

コマンドライン
$ python manage.py startapp app1

アプリケーションは実際に何らかの処理を行う個別のアプリーケーションを指します。プロジェクトはあるウェブサイト向けに設定とアプリケーションを集めたものです。例えば、販売管理システム(プロジェクト)に対し、売上管理アプリ、在庫管理アプリ、予算管理アプリ(アプリケーション)といった具合です。

ビューを作成する

views.pyを開き、以下のpythonコードを書きます。

app1/views.py
from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world!")

URLconfを作成する

先ほど書いたビューを呼ぶために、URLを対応付けします。
まず、app1ディレクトリにurls.pyというファイルを作ります。アプリのディレクトリは以下のようになります。

app1/
    __init__.py
    admin.py
    migrations/
        __init__.py
    models.py
    tests.py
    urls.py
    views.py

作成した app1/urls.py に以下のコードを書きます。

app1/urls.py
from django.urls import path

from . import views


urlpatterns = [
    path('', views.index, name='index'),
]

次に、作成したアプリのURLconfをプロジェクト側のURLconfに反映させます。
今度は sample_project/urls.py に以下を追加します。

sample_project/urls.py
from django.contrib import admin
from django.urls import include, path


urlpatterns = [
    path('app1/', include('app1.urls')),
    path('admin/', admin.site.urls),
]

結果

コマンドラインで開発用サーバを動かします。

コマンドライン
$ python manage.py runserver

ブラウザで http://localhost:8000/app1/ にアクセスすると「Hello World!」が表示されます。
image.png

おわりに

公式により丁寧な説明がありますので、基本はそちらを使って勉強するのがよいと思います。ただ動かすだけであれば、プログラミング未経験者でも迷うポイントはあまりないと思います。
個人的引っかかりポイントは、プロジェクトとアプリケーションの区別(どのような単位でアプリケーションを作ればよいか?)とそれぞれの名前の付け方でした。

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?