LoginSignup
0
0

Django 初期設定

Posted at

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を編集する

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だけ残す
  

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

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0