Python

djangoの初期設定を防備録的にまとめる

更新日:

防備録:djangoアプリケーションの初期設定

django起動画面

毎回、手順が怪しいのでまとめてみました。
プロジェクト作成、アプリケーション生成、初回起動まで。

設定と環境は以下の通り。

プロジェクト名 myproject
アプリケーション名 myapp
python 3.7
django 2.1
環境 ubuntu18.04

djangoプロジェクトの作成

djangoのプロジェクトを作成するディレクトリに移動

django-admin startproject myproject

djangoアプリケーションの作成

作成したプロジェクトディレクトリに移動

python3.7 manage.py startapp myapp

setting.pyの編集

プロジェクトディレクトリのsetteing.pyに作成したアプリケーションを登録する

# Application definition

INSTALLED_APPS = [
'myapp.apps.MyappConfig', #制作したアプリケーションを追加
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]

......中略
LANGUAGE_CODE = 'ja' #日本語
TIME_ZONE = 'Asia/Tokyo' #タイムゾーン

urls.pyの編集

myproject/urls.pyの編集

プロジェクトディレクトリ内のルーティングを設定

from django.contrib import admin
from django.urls import path,include #includeを追加
urlpatterns = [
path('admin/', admin.site.urls),
path('',include(myapp.urls)), #localhost:8000/のアクセスに対してmyapp/urls.pyを参照せよとの指定
]

myapp/urls.pyの作成

アプリケーションディレクトリ内のルーティングの設定
アプリケーションディレクトリ内にurls.pyを作成

from django.urls import path
from .import views
app_name = 'myapp'

#localhost:8000/のアクセスに対してviews.pyのIndexView関数を呼び出す
urlspatterns = [
path('',views.IndexView.as_view(),name='index'),
]

views.pyを編集

アプリケーションディレクトリのviews.pyを編集

from django.views import generic

class IndexView(generic.TemplateView):
     template_name = 'myapp/index.html' #テンプレートを指定

テンプレートを用意

myappディレクトリにtemplates/myappを用意
指定したindex.htmlを配置

migration

DBの定義を走らせる

host:~/django/myproject$ python3.7 manage.py makemigrations
No changes detected
host:~/django/myproject$ python3.7 manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

テスト起動

プロジェクトディレクトリに移動

python3.7 manage.py runserver

-Python

Copyright© Webエンジニア TKJ , 2019 All Rights Reserved.