7K12 blog

猫でも分かる何か

django 3-10 アプリケーション作成

初回操作

$ mkdir test
$ cd test
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install django==3.2

上記は仮想環境の構築とDjangoのインストールコマンド
なお、次から開発するときも毎回 $ source venv/bin/activate だけはコマンドする必要がある

通常操作

$ mkdir test
$ cd test
$ django-admin startproject nyaa_project
$ cd nyaa_project
$ python3 manage.py startapp nyaa_app

test フォルダを作ってプロジェクト nyaa_project を作成
nyaa_project フォルダに移動してアプリケーション nyaa_app を作成(※基本的に manage.py があるフォルダでコマンドは使う)

プロジェクトの初期設定

INSTALLED_APPS = [
    'django.contrib.admin',
(略)
    'django.contrib.staticfiles',
    'nyaa_app.apps.NyaaAppConfig',
]

test/nyaa_project/settings.py に書く
INSTALLED_APPS の最下段に「nyaa_app.apps.NyaaAppConfig」を追加
(クラス名 NyaaAppConfig は nyaa_project/nyaa_app/apps.py を見ると確認できる)

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

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

test/nyaa_project/urls.py に書く
from django.urls import path の後ろに include を追加
urlpatterns の最下段に path('', include('nyaa_app.urls')), を追加

アプリの初期設定

$ touch nyaa_app/urls.py

nyaa_app フォルダに urls.py を作成

from django.urls import path
from .views import print_hello

urlpatterns = [
    path('nyaa_app/', print_hello),
]

test/nyaa_project/nyaa_app/urls.py に上記を全て書く

from django.shortcuts import render
from django.http import HttpResponse

def print_hello(request):
    return HttpResponse('hello world')

test/nyaa_project/nyaa_app/views.py に上記を全て書く
print_hello クラスが request クラスを継承する(C++と違って関数と同じ記述で実現できる)

サーバーを立ち上げてみる

$ python3 manage.py runserver