Django4 startappコマンド アプリ新規作成

Django4 startappコマンド アプリ新規作成

Django4 startappコマンド アプリ新規作成

Django4 startappコマンド アプリ新規作成

意味:

startapp(スタ―トアップ)コマンドとは、Djangoのコマンドの1つで、アプリケーションを新規作成します。

別名:

python manage.py startapp [app name]

解説:

Djangoでは、ウェブサービスを機能ごとに管理し、最上位にプロジェクトがあり、その下位にアプリケーションが置かれます。
例えば、料理のウェブサービスを開発する場合は、最上位に料理プロジェクトがあり、その下位にレシピのアプリケーションやシェフのアプリケーションが置かれます。

多言語対応:


日本語:

startapp ひらがな すた―とあっぷ カタカナ スタ―トアップ

英語:

startapp

探究資料:


Django project.
ジャンゴプロジェクト.

スポンサーさん

Django4 startappコマンド 使い方解説

環境:

Django4 Ubuntu22 Gunicorn nginx PostgreSQL14:

初期設定:

Django4基礎入門講座の初期設定

事前準備:


source /pythonprj/ramen/bin/activate #python3仮想環境に入る
cd /pythonprj/pasta #プロジェクトディレクトリに入る

startappコマンド:


python manage.py [アプリ名]
python manage.py startapp flats

コマンド実行後のディレクトリ:


ls -all #ディレクトリの一覧表示

drwxr-xr-x 5 root root 4096 Apr 18 10:06 .
drwxr-xr-x 4 root root 4096 Apr 18 07:52 ..
drwxr-xr-x 3 root root 4096 Apr 18 10:06 flats
drwxr-xr-x 8 root root 4096 Apr 18 08:44 .git
-rwxr-xr-x 1 root root 661 Apr 18 07:52 manage.py
drwxr-xr-x 3 root root 4096 Apr 18 10:06 pasta
flatsアプリが追加されました。

Django4 startapp viewとurl設定解説

新規アプリの中身:


cd flats #ディレクトリを移動
ls -all #ディレクトリの一覧表示

drwxr-xr-x 3 root root 4096 Apr 18 10:28 .
drwxr-xr-x 6 root root 4096 Apr 21 05:11 ..
-rw-r--r-- 1 root root 63 Apr 18 10:06 admin.py
-rw-r--r-- 1 root root 142 Apr 18 10:06 apps.py
-rw-r--r-- 1 root root 0 Apr 18 10:06 __init__.py
drwxr-xr-x 2 root root 4096 Apr 18 10:06 migrations
-rw-r--r-- 1 root root 57 Apr 18 10:06 models.py
-rw-r--r-- 1 root root 60 Apr 18 10:06 tests.py
-rw-r--r-- 1 root root 149 Apr 18 10:21 urls.py
-rw-r--r-- 1 root root 163 Apr 18 10:21 views.py

新規アプリのviewを書く:


vim /pythonprj/pasta/flats/views.py
で以下の内容をviews.pyへ記入します。

from django.http import HttpResponse

def index(request):
return HttpResponse("I am learning Django.")


新規アプリのurlを書く:


vim /pythonprj/pasta/flats/urls.py
で以下の内容をurl.pyへ記入します。

from django.urls import path
from . import views

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



プロジェクトのurlを書く:


vim /pythonprj/pasta/pasta/urls.py
で以下の内容をurl.pyへ記入します。

from django.contrib import admin
from django.urls import include, path

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


更新を確認する:


sudo systemctl restart gunicorn
sudo systemctl restart nginx


ブラウザからhttps://tokyo-sensei.com/flats/にアクセスして
I am learning Django.
と表示されていれば、成功です。これでDjangoアプリからviewとurlの設定ができました。

Django4 startapp modelとmigaration設定解説

modelを書く:


vim /pythonprj/pasta/flats/models.py
で、以下の内容をmodels.pyへ記入します。

from datetime import date
from django.urls import reverse
from django.conf import settings
from django.db import models

class ZCategory(models.Model):

title = models.CharField(
max_length=63,
unique='true',
)
slug = models.SlugField(
max_length=63,
help_text='A label for URL config',
unique='true',
)
description = models.TextField(
help_text='description',
max_length=300,
blank=True, null=True,
)


class YCategory(models.Model):

title = models.CharField(
max_length=63,
unique='true',
)
slug = models.SlugField(
max_length=63,
help_text='A label for URL config',
unique='true',
)
description = models.TextField(
help_text='description',
max_length=300,
blank=True, null=True,
)
category_nm = models.IntegerField(
help_text='categoryの順番',
unique='true', null=True,
)
parent = models.ForeignKey(ZCategory, on_delete=models.PROTECT, blank=True, null=True)
)


settings.py INSTALLED_APPSの設定:


vim /pythonprj/pasta/pasta/settings.py
で以下の内容をINSTALLED_APPSへ記入します。

INSTALLED_APPS = [
'flats.apps.FlatsConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
flats.apps.FlatsConfigを追加しました。

makemigrationsの設定:


/pythonprj/pasta/manage.py makemigrations
と入力します。
Migrations for 'flats':
/pythonprj/pasta/flats/migrations/0001_initial.py
- Create model ZCategory
- Create model YCategory
と表示が出力されれば、成功です。

/pythonprj/pasta/manage.py showmigrations
で、migrationの一覧が見れます。

migrateの設定:


/pythonprj/pasta/manage.py migrate
と入力します。

Running migrations:
Applying flats.0001_initial... OK
と表示が出力されれば、成功です。

Django4 startapp viewとurlの設定解説

viewを書く:


vim /pythonprj/pasta/flats/views.py
で、以下の内容をviews.pyへ記入します。
from django.urls import reverse_lazy
from django.views.generic.list import ListView
from django.views.generic import (
ArchiveIndexView, CreateView, DeleteView,
DetailView, MonthArchiveView, YearArchiveView)

from .models import (
ZCategory, YCategory,
)


class ZCategoryListView(
ArchiveIndexView):
model = ZCategory
slug_url_kwarg = 'zcategory'
template_name = 'flats/zcategory_list.html'
allow_empty = True
context_object_name = 'zcategory_list'
date_field = 'created_at'
make_object_list = True
ordering = 'category_nm'
paginate_by = 100


class YCategoryDetailView(DetailView):
model = YCategory
slug_url_kwarg = 'ycategory'
template_name = 'flats/ycategory_detail.html'

def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super().get_context_data(**kwargs)
# Add in a QuerySet of all the books
context['zcategory_list'] = ZCategory.objects.all()
return context


urlを書く:


vim /pythonprj/pasta/flats/url.py
で、以下の内容をflats/url.pyへ記入します。
from django.urls import include, path
from . import views
from .views import (
ZCategoryListView, YCategoryDetailView
)

urlpatterns = [
path('/', YCategoryDetailView.as_view(), name='ycategory_list'),
path('index/', ZCategoryListView.as_view(), name='zcategory_list'),
path('', ZCategoryListView.as_view(), name='zcategory_list'),
path('', ZCategoryListView.as_view(), name='home'),
]


vim /pythonprj/pasta/pasta/url.py
で、以下の内容をpasta/url.pyへ記入します。
from django.contrib import admin
from django.urls import include, path
from flats import urls

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

Django4 startapp templateの設定解説

viewを書く:


mkdir /pythonprj/pasta/flats/template
で、ディレクトリを作成します。

mkdir /pythonprj/pasta/flats/template/flats
で、ディレクトリを作成します。

vim /pythonprj/pasta/flats/template/flats/zcategory_list.html
で、以下の内容のtemplateを新規作成します。
This is zcategory list


vim /pythonprj/pasta/flats/template/flats/flats/ycategory_detail.html
で、以下の内容のtemplateを新規作成します。
This is ycategory detail


ブラウザからhttps://tokyo-sensei.com/にアクセスして
This is zcategory list
と表示されていれば、成功です。これでDjangoアプリからviewとurlの設定ができました。

Django4 startapp githubで管理する

git status
git add --all
git commit -m "startappk"
git push

git fetch
git merge
git pull origin
git log

git config --global user.email xxx@gmail.com
git config --global user.name tokyo-teachergit
git config -l

Django4 startappコマンド 探究資料

科目別 By Curriculum


大学受験  情報科学(Computer science)

単元別 By Subject


情報科学  プログラミング(Programming)
情報科学  パイソン (Python)
情報科学  ウェブ(Web)
情報科学  ウィンドウズ (Windows)
情報科学  リナックス (Linux)
情報科学  ギットハブ (Github)
情報科学  ジャンゴ (Django)

対象児童生徒 By Age


中学数学(二次関数まで!)を履修し終えている生徒
コンピューターの基礎知識を学びたい生徒
自分でプログラム(program)を書きたい生徒
情報科学(Computer Science)を学びたい生徒
大学受験生(国公立高校生+私立中高一貫校生)
大学生+社会人(基礎からやり直したい生徒)


プロ家庭教師コンピューター教材で、重要語句の日本語訳・韓中英訳・別名・解説をまとめています。オンライン学習用で、生徒・保護者・教員・家庭教師のために、無料ダウンロードを提供します。

スポンサーさん