Open2

Django学習メモ

Kotaro YamashitaKotaro Yamashita

Django学習メモ

実践Django Pythonによる本格Webアプリケーション開発 (Programmer’s SELECTION) | 芝田 将 |本 | 通販 | Amazon

プロジェクトの作成

PS D:\Users\user\django_practice> django-admin startproject djangosnippets

実行すると下記のフォルダ、ファイルが作成される。

django_practice
    └─djangosnippets
              ├─djangosnippets
              │    ├─asgi.py
              │    ├─settings.py  // Djangoプロジェクトの様々な設定を記述する
              │    ├─urls.py  // ルーティングに関する設定を記述する
              │    ├─wsgi.py
              │    └─__init__.py
              └─manage.py  // django-adminコマンドを使用する際のショートカットスクリプト

djangosnippets\settings.py で言語設定とタイムゾーンを変更する。

テーブルを作成する。

PS D:\Users\user\django_practice\djangosnippets> python manage.py migrate

db.sqlite3 が作成される。

manage.py の各種サブコマンド

PS D:\Users\user\django_practice\djangosnippets> python manage.py help

Type 'manage.py help <subcommand>' for help on a specific subcommand.
Available subcommands:


[auth]
    changepassword
    createsuperuser

[contenttypes]
    remove_stale_contenttypes

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver

[sessions]
    clearsessions

[staticfiles]
    collectstatic
    findstatic
    runserver
Kotaro YamashitaKotaro Yamashita

アプリケーションの作成

djangosnippets\settings.py にアプリケーションの一覧が登録されている。

下記のコマンドで sunippets というアプリケーションを作成する。

PS D:\Users\user\django_practice\djangosnippets> python manage.py startapp snippets

※この時点で django_practice\djangosnippets\snippets が存在するとエラー。

実行すると下記のフォルダ、ファイルが作成される。

django_practice
    └─djangosnippets
              ├─djangosnippets
              │    ├─settings.py  // Djangoプロジェクトの様々な設定を記述する
              │    ├─urls.py        // ルーティングに関する設定を記述する
              │     …
              │
              ├─manage.py
              │   // 以下が startapp snippets で作成されるもの
              └─snippets
                     ├─migragtions  // マイグレーションファイルが生成される
                     ├─admin.py     // 管理画面の設定を記述する
                     ├─apps.py       // アプリケーションの様々な状態にフックする処理を記述する
                     ├─models.py   // データベースのスキーマを定義する
                     ├─tests.py      // テストを記述する
                     ├─views.py     // ビューを記述する
                     └─__init__.py

djangosnippets\settings.py 内の INSTALLED_APPS"snippets.apps.SnippetsConfig" を追加する。

snippets\tests.py にテストを書く。
テストの実行は、

PS D:\Users\user\django_practice\djangosnippets> python manage.py test

snippets\views.py にビュー関数を定義する。

djangosnippets\urls.py にルーティングの設定を追加する。snippets\urls.py を新たに作成してこちらに設定を記述することもできる。

データベースとの連携

snippets\models.py にモデルを定義する。

manage.py makemigrations コマンドにより、マイグレーションファイルを作成する。

manage.py migrateコマンドにより、マイグレーションファイルからSQLを発行する。

管理画面から Snippet テーブルのデータを追加・削除・編集できる admin 権限を持つユーザーを作成する。

from django.contrib import admin
from snippets.models import Sunippet

# Register your models here.
admin.site.register(Sunippet)
PS D:\Users\user\django_practice\djangosnippets> python manage.py createsuperuser

データベースの基本操作

PS D:\Users\user\django_practice\djangosnippets> python manage.py shell