Closed6

[Python / Django] はじめまして ドジャンゴ さん

あざらしあざらし

プロジェクト作成

django-admin startproject mysite

ここでできるファイル群について

manage.py

Django プロジェクトに対する様々な操作を行うためのコマンドラインユーティリティ
django-adminpython -m djangoと同じことができる

例:

python manage.py runserver

init.py

このディレクトリが Python パッケージであることを Python に知らせるための空のファイル

settings.py

Django プロジェクトの設定ファイル
データベースの設定とかいろいろな設定をここに書く

urls.py

Django プロジェクトの URL 宣言、目次

asgi.py

プロジェクトを提供する ASGI 互換 Web サーバーのエントリポイント

wsgi.py

プロジェクトをサーブするためのWSGI互換Webサーバーとのエントリーポイント

asgi / wsgi ってなに

wsgi

Web Server Gateway Interface
→Webのサーバーとアプリが通信できるようにするためのインターフェース

asgi

Asynchronous Server Gateway Interface
→wsgi の後継的なもの。非同期のインターフェース

https://okiyasi.hatenablog.com/entry/2020/08/10/211804

あざらしあざらし

project と app の違いとは

って思ってたら公式にちゃんと書いてあった。さすがである

プロジェクトとアプリの違いは何でしょうか? アプリとは、ブログシステム、公的記録のデータベース、小規模な投票アプリなど、何かを行う Web アプリケーションです。プロジェクトは、特定のウェブサイトの構成とアプリのコレクションです。プロジェクトには複数のアプリを含めることができます。 アプリは複数のプロジェクトに存在できます。

つまり、プロジェクトがサカキ、アプリがロケット団
ボスは1人で、したっぱどもをまとめるし、したっぱはたくさんいておk
実際に何か行うのもしたっぱ

なので例えば、
project/urls.pyapp/urls.pyの違いとすると、
プロジェクトの方が、アプリの大元のURLを指定したりadmin画面のURLを指定したり
アプリは、そのWebアプリのどのページがどのURLかを指定する
という違い。ファイル名一緒だけどね。

あざらしあざらし

project/setting.py

DATABASE

自分の使うデータベースを設定する
デフォルトはSQLite

TIME_ZONE

日本なので「Asia/Tokyo」を設定する

LANGUAGE_CODE

日本語「ja」を設定する

INSTALLED_APPS

使うパッケージをここに設定する
デフォルトでいくつか入っている(admin、authなど)

→このパッケージを使うのにテーブルが必要
python manage.py migrateを実行するだけで DATABASE に設定したデータベースにテーブルを作ってくれる(え、すご)

このスクラップは2024/02/07にクローズされました