ねこきっくぱんちのメモ帳

ITに関することいろいろめも。たまにアニメ。

Django チュートリアル1

下記参照元チュートリアルメモ

    • -

//Python 3.6.4
//venvをつかったローカル環境構築(mac)
//pip install django==1.11

    • -

・virtual environment
python3 -m venv myvenv //ディレクトリ作成
source myvenv/bin/activate //アクティベート

Djangoインストール
pip install --upgrade pip //pipはpythonのpkg管理システム
=>Successfully installed django-1.11 pytz-2018.3

・プロジェクト作成
django-admin startproject mysite.

djangogirls
├── manage.py //サイト管理用のスクリプト
└── mysite
├── __init__.py
├── settings.py //サイトの設定ファイル
├── urls.py
└── wsgi.py


・Changing settings
mysite/settings.py
LANGUAGE_CODE = 'ja-JP'
TIME_ZONE = 'Asia/Tokyo'
USE_TZ = False

・Setup a database(sqlite3)
mysite/settings.py

~$ python manage.py migrate //DB作成

・サイトの確認
python manage.py runserver
http://127.0.0.1:8000/
=> It worked!

Django models

ブログを作成する場合

//object
Post

              • -

title
text
author
created_date
published_date

//method
publish()
Djangoのモデルは特別なオブジェクトで、データベースに格納されます

・Creating an application
python manage.py startapp blog

djangogirls
├── blog
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── db.sqlite3
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

//アプリケーションを作ったら、Djangoにそれを使うように伝えないといけません。それはmysite/settings.pyファイルの中でやります。

mysite/settings.py
INSTALLED_APPS = (
...
'blog' //add
)

・Creating a blog post model
blog/models.pyファイルでModelsと呼ばれる全てのオブジェクトを定義します。

・DBにモデル用テーブルを作る
python manage.py makemigrations blog
//新しいモデルをDBに追加
//migratinoFIleの作成

python manage.py migrate blog
//migratino実行

Django admin
blog/admin.pyファイルにPostをimport

python manage.py createsuperuser
ID: admin
mail: ~~@gmail.com
PW: password

python manage.py runserver
http://127.0.0.1:8000/admin/

//管理画面よりpostのテスト

■参考
Django Girls Tutorial(イントロダクション〜Djangoモデル)
https://djangogirlsjapan.gitbooks.io/workshop_tutorialjp/content/