はじめに
この記事は、自分がPythonで実装されたWebフレームワークDjangoを用いてコメント機能を付けた書籍リストを作っていた際の冒頭の流れを大雑把にまとめたものになります。
書籍リスト及びコメント機能を作る流れに関してはここでは触れません。続きを書くかどうかは未定です。
今回は初心者向けの記事とします。
環境構築の手順はドキュメント等をご参照ください。
[作業環境]
Python-3.6.2
Django==2.0
書籍リストの出来上がったサンプルはこちらになります。
(注意点)Djangoはバージョン2.0からPython2系のサポートが打ち切りになっています。Python3系で行うようにしてください。
プロジェクトを作成する
ここからプロジェクトを作る流れになります。次のコマンドを実行してください。
$ django-admin.py startproject libut
これでlibutというディレクトリが生成されました。中身を確認します。
$ tree libut
libut
├──libut
│ ├──__init__.py
│ ├──settings.py
│ ├──urls.py
│ └──wsgi.py
└──manage.py
確認出来ましたか?それでは移動しましょう。
$ cd libut
ここで、言語及びタイムゾーンの設定を日本(語)にしたいと思います。libut/settings.py
で変更出来ます。
# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'ja'
# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Tokyo'
因みにデータベースの設定もこのファイルに存在します。デフォルトではSQlite3を使用するようになっています。
# Database
# https://docs.djangoproject.com/en/2.0/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
それでは、データベースをマイグレートしましょう。manage.py
の位置するディレクトリに移動して次のコマンドを実行してください。
$ python 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 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
無事に完了しました。
この時、db.sqlite3
というファイルが現在自分のいるディレクトリに生成されているので確認してください。
サーバを起動する
試しに開発用サーバを起動してみましょう。
$ python manage.py runserver
http://127.0.0.1:8000 にアクセスしてみてください。
以下のように表示されたら成功です。
スーパーユーザの作成
次のコマンドを打ってスーパーユーザを作りましょう。
$ python manage.py createsuperuser
ユーザーネームやEmailアドレス、パスワードを設定します。
以下を見て頂けたらお分かりになると思いますが、短すぎるパスワードに対してはお叱りを受けるので注意しましょう。
Username (leave blank to use '◯◯◯◯'): admin #adminにする必要はない
Email address: libut@libutsample.com
Password:
Password (again):
The password is too similar to the email address.
This password is too short. It must contain at least 8 characters.
Password:
Password (again):
Superuser created successfully.
これで設定完了です。
アプリケーションを作成する
いよいよ、アプリの作成に取り掛かります。manage.pyがあるディレクトリに移動し、次のコマンドを用います。
$ python manage.py startapp books
これでbooks
というディレクトリが生成されたので確認してみましょう。
$ tree -L 2 .
.
├── books
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── db.sqlite3
├── libut
│ ├── __init__.py
│ ├── __pycache__
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
ここからbooks
内のmodels.py
やviews.py
などを編集したり、自動で生成されないurls.py
やforms.py
などを作成する流れになります。
またmodels.py
において定義したデータのモデルを有効化する必要があるので、「books
がインストールされた」とプロジェクトに伝える為にlibut/settings.py
を編集することも忘れてはいけません。
おわり
今回の記事はここまでになります。
大雑把な流れでしたが、Djangoに少しでも興味を持てて頂けたら嬉しく思います。