Django 導入と初期設定
venvを使った仮想環境の作り方
ターミナルで、仮想環境を作りたいディレクトリに移動
$ python3 -m venv <仮想環境名>
(仮想環境名は venv や myvenv など任意でよい)
binディレクトリに移動して、「activate」を実行
$ source myvenv/bin/activate
または
$ cd my_venv/bin
$ source activate
プロジェクトとアプリケーションの作成
次に仮想環境にdjangoをインストールする
$ pip3 install django
python3の環境を使う場合はpipではなくpip3と明示することで、Python3環境に紐づけることができる。
djangoのプロジェクトを作る
configにしとくと分かりやすい
(プロジェクト名やアプリケーション名にすると同一の名前で重複するので、ディレクトリがごちゃごちゃしてしまう)
$ django-admin startproject config .
プロジェクトを構成するアプリケーションを作る
仮想環境化のプロジェクトディレクトリで
$ python3 manage.py startapp todo
todoの部分が任意のアプリケーション名
configのsetting を編集
【探したり移動するのに便利なvscodeのショートカット command + f 】
TEMPLATESのDIRSを編集
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR / 'templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
manage.pyファイルがある階層にtemplatesフォルダを作成する
TIME_ZONE ='Asia/Tokyo'
LANGUAGE_CODE='ja'
に設定する
新しいアプリケーションを作成したら、
setting.pyのINSTALLD_APPSの配列に
アプリケーション名を追加する。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'todo.apps.TodoConfig',
]
さらに
STATIC_ROOT= os.path.join(BASE_DIR, 'static')
//staticはcssなど静的ファイルの場所でありこれの場所を明示する
ターミナルに戻り
cd プロジェクト名 mkdir static
//上で記述したstaticフォルダを作る
理由:djangoのテンプレート機能がそのアプリケーション内にあるtemplatesフォルダを検索できるようにするため。
テンプレートはプロジェクトフォルダ内のアプリケーションフォルダの中にtemplatesフォルダを作りその中にアプリケーションと同名のフォルダを作る。
その同名フォルダにhtmファイルを作りhtmlを記述する。
URLの繋ぎこみをする
configの中のurls.pyを編集する
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('todo.urls')),
]
アプリディレクトリの中にurls.pyファイルを作り、中身はconfig内のurls.pyをコピペし
adminだけ残す
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
]