プロジェクトとアプリ
Djangoプロジェクトを構成します
「プロジェクトとアプリ」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
Djangoとは
Djangoは、必要な機能が一通りそろったPython用Webフレームワークです。ORM、管理サイト、テンプレート機能などをまとめて提供するため、機能の充実したサイトをすばやく構築できます。pip install djangoでインストールします。
import django
print('Django version:', django.get_version())プロジェクトとアプリの違い
Djangoでは、次の2つの概念を分けて扱います。
- プロジェクトは、設定を含むWebサイト全体です。
- アプリは、プロジェクト内で再利用できるブログやショップなどのモジュールです。
1つのプロジェクトには複数のアプリを含められます。
# project = the site
# app = a feature module within it
print('Project holds many apps')プロジェクトの開始
django-admin startproject mysiteコマンドを実行すると、基本ファイルを含む新しいプロジェクトディレクトリが作成されます。
# Terminal:
# django-admin startproject mysite
print('startproject creates the site skeleton')プロジェクトの構成
新しいプロジェクトには、manage.pyと、settings.py、urls.py、wsgi.py、asgi.pyを含む内部パッケージが作成されます。
# mysite/
# manage.py
# mysite/
# settings.py
# urls.py
# wsgi.py
print('manage.py + inner config package')manage.py
manage.pyは、コマンドラインから操作するためのエントリーポイントです。開発サーバーの起動やマイグレーションなどのタスクは、このファイルを通して実行します。
# python manage.py runserver
# python manage.py migrate
# python manage.py createsuperuser
print('manage.py runs project commands')アプリの作成
python manage.py startapp blogを実行すると、モデル、ビュー、管理サイト用ファイルを独自に持つ新しいアプリフォルダーが作成されます。
# python manage.py startapp blog
# blog/
# models.py
# views.py
# admin.py
# apps.py
print('startapp scaffolds a feature module')アプリの登録
Djangoにアプリを認識させるには、settings.pyのINSTALLED_APPSにアプリを追加します。
# settings.py
# INSTALLED_APPS = [
# 'django.contrib.admin',
# 'blog',
# ]
print('Register apps in INSTALLED_APPS')settings.py
settings.pyには、データベース、インストール済みアプリ、許可するホスト、静的ファイル、シークレットキーなど、すべての設定が記述されています。
# Key settings:
# DATABASES, INSTALLED_APPS,
# ALLOWED_HOSTS, SECRET_KEY, DEBUG
print('settings.py centralizes config')開発サーバー
python manage.py runserverを実行すると、ローカル開発サーバーが起動します。デフォルトではhttp://127.0.0.1:8000でアクセスできます。
# python manage.py runserver
# -> Starting development server at
# http://127.0.0.1:8000/
print('runserver launches the dev server')URL設定
プロジェクトのurls.pyは、ルートURLマップです。通常は、各アプリ独自のURL設定をinclude()で取り込みます。
# mysite/urls.py
# from django.urls import path, include
# urlpatterns = [
# path('blog/', include('blog.urls')),
# ]
print('Project urls include app urls')アプリは再利用できる
アプリは自己完結しているため、同じアプリを複数のプロジェクトに組み込めます。このモジュール設計は、Djangoの大きな強みの1つです。
# A well-built 'blog' app can be reused
# across different Django projects
print('Apps promote reuse')理解度チェック
プロジェクトの構成についての理解度を確認しましょう。
まとめ
Djangoプロジェクトの構成方法を学びました。
- プロジェクトはサイト全体で、アプリは再利用できる機能モジュールです
startprojectとstartappでそれぞれのひな形を作成しますINSTALLED_APPSにアプリを登録しますmanage.pyでrunserverなどのコマンドを実行します- プロジェクトの
urls.pyで各アプリのURL設定を取り込みます
よくある質問
「プロジェクトとアプリ」レッスンは無料ですか?
はい。「プロジェクトとアプリ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「プロジェクトとアプリ」で何を学びますか?
Djangoプロジェクトを構成します ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「プロジェクトとアプリ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- プロジェクトとアプリ
- モデルとマイグレーション
- ビューとURL
- Django Admin