Progateで作ったWebアプリをDjangoで作ってみる! Part1 -初期設定編-
ProgateのNode.jsコースではお買い物リストアプリを作るのですが、これと全く同じものをDjangoで作ってみます。
Djangoでのアプリ開発の一連の流れを整理するために記していきます。
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
というコードを記入します。
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
は一旦、空にしておきます。
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')),
]
from django.urls import path
urlpatterns = [
]
イメージはこんな感じ。
これでとりあえず初期設定は完了です!
Part2に続きます!
Author And Source
この問題について(Progateで作ったWebアプリをDjangoで作ってみる! Part1 -初期設定編-), 我々は、より多くの情報をここで見つけました https://qiita.com/insilicomab/items/5268d49867b0c24d96e9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .