4
6

More than 3 years have passed since last update.

Progateで作ったWebアプリをDjangoで作ってみる! Part1 -初期設定編-

Last updated at Posted at 2021-07-12

ProgateのNode.jsコースではお買い物リストアプリを作るのですが、これと全く同じものをDjangoで作ってみます。

Djangoでのアプリ開発の一連の流れを整理するために記していきます。

目標物
image.png

HTMLとCSS、PNG形式画像は使い回しで、一部をDjango用のタグに変えます。

はじめに

まずは初期設定を進めていきます。

プロジェクト名をlistapp、アプリ名をlistとします。

プロジェクトの作成

Djangoのプロジェクト作成はdjango-adminというコマンドを使います。

今回のプロジェクト名はlistappなので以下のコードを実行します。

django-admin startproject listapp

アプリの作成

cdコマンドでプロジェクトの中に移動します。

cd listapp

これでlistappプロジェクトの中に移動しました。

続いて、アプリ作成のコマンドを実行します。アプリを作成するにはmanage.pyコマンドを使います。

manage.pyコマンドはDjangoに備わる便利機能を使うためのファイルです。

アプリ名はlistです。

python manage.py startapp list

これでlistappプロジェクトの中にlistアプリが作成されました!

アプリの登録

アプリ作成後は、プロジェクトに対して作成したアプリを認識させる必要があります。

アプリを追加する場所は、setting.pyファイルの中のINSTALLED_APPSという変数の中です。

listアプリなので、ここの末尾にlistというコードを記入します。

listapp/listapp/setting.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'list', # ☆
]

これでアプリをプロジェクトに認識させることができました。

urls.py

アプリの中にurls.pyファイルを作成します。Visual Studio Codeのエクスプローラーの「新しいファイル」アイコンか以下のコマンドで作成します。

touch list/urls.py

urls.pyファイルはブラウザからのrequestをもとに、views.pyファイルに対して指示を出します。

urlpatternsに書かれていることは、ブラウザからのrequestとpath()関数の第一引数のURLが合致した場合に、views.pyにかかれているpath()関数の第二引数の中身(classやfunction)を実行するように指示する、という意味です。

プロジェクト(listapp)のurls.pyファイルからアプリ(list)のurls.pyを呼び出すためのコードを、プロジェクト(listapp)のurls.pyファイルに書いていきます。

include()関数は他のurls.pyを呼び出すために使います。

listアプリのurlpatternsは一旦、空にしておきます。

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

urlpatterns = [
    # リクエストされたパス部分がadmin/に合致した場合、admin.site.urlsを呼び出す
    path('admin/', admin.site.urls), 

    # listアプリのurls.pyを呼び出す
    path('', include('list.urls')),
]
listapp/list/urls.py
from django.urls import path

urlpatterns = [

]

イメージはこんな感じ。

image.png

これでとりあえず初期設定は完了です!

Part2に続きます!

Part2

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