もう過去の話でどんなんだったか、思い出せないので久しぶりにDjangoのチュートリアルでもやって懐かしもうと思います。
おすすめチュートリアルとして、以下のチュートリアルを見つけたのでそれをやります。
ちなみに公式のチュートリアルもあります。
これは昔やった記憶がうっすらとあるので今回はパス。
内容は実際のチュートリアルを見てもらうほうが分かりやすくて良いともいます。
なので、ここではざっくりとやりながら取ったメモ書きを張るだけにします。
Django -------------------------------------------------------------------------
仮想環境(開発環境)作成
$ python -m venv myvenv
開発環境の開始
$ . myvenv/bin/activate
行頭に(myvenv)が現れる
$ deactivate # 環境停止
Djangoインストール
$ pip install django==1.10
Successfully installed django-1.10
$ pip list
Django (1.10)
pip (9.0.1)
setuptools (28.8.0)
Django プロジェクト ------------------------------------------------------------
Djangoプロジェクトの作成
$ django-admin startproject mysite .
タイムゾーンの変更
mysite/settings.pyの以下の箇所を変更する
befor:
TIME_ZONE = 'UTC'
USE_TZ = True
after:
TIME_ZONE = 'Asia/Tokyo'
USE_TZ = False
補足:DBの設定は同ファイル内の以下の箇所で設定している
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
DBのマイグレーション
$ python manage.py migrate
サーバーの起動
$ python manage.py runserver 192.168.55.2:8000
Webブラウザでhttp://192.168.55.2:8000/にアクセスすると「It worked!」と表示される
アプリケーションの作成
$ python manage.py startapp blog
Djangoにアプリケーションを認識させる
mysite/settings.pyの以下の箇所を変更する
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog', # 追加
)
モデルを定義する
blog/models.pyの内容を以下に変更する
from django.db import models
from django.utils import timezone
class Post(models.Model):
author = models.ForeignKey('auth.User')
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(
default=timezone.now)
published_date = models.DateTimeField(
blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
データベースにモデル用のテーブルを作る
データベースに入れる為の移行ファイルを作成
$ python manage.py makemigrations blog
データベースへ反映
$ python manage.py migrate blog
作成したポストを追加、編集、削除用Django adminページの設定
blog/admin.pyを以下のように編集
from django.contrib import admin
from .models import Post
admin.site.register(Post)
Django admin ログイン用ユーザ(superuser)作成
$ python manage.py createsuperuser
Username (leave blank to use 'vagrant'): admin
Email address: admin@admin.com
Password:admin12345
サーバーを起動しDjango adminにログイン
$ python manage.py runserver 192.168.55.2:8000
以下のURLにアクセス
http://192.168.55.2:8000/admin/
POSTとかを試してみる。
Blog/Postsでデータの登録とかできるよ。
長くなるので、今回はここまでにします。
次はHerokuへのデプロイから(/・ω・)/
0 件のコメント:
コメントを投稿