環境
OS : macOS Mojave
Anaconda : python3.6.7
Django==2.1.5
#今回の目標
アプリの中身の最重要部分"モデル"の作成
#モデルとは
簡単に言うと、"データベースのデータの集合"
データベースにデータを格納しておいて状況に応じて取り出すイメージ
#必要なデータは...
今回のアプリは、ブログということで当然タイトルと内容(テキスト)は必要でしょう。
その他、筆者と作成日時と更新日時を要素(データ)としよう!
#models.py
models.py内にPostクラスを作成
blog/models.py
from django.db import models
from django.utils import timezone
class Post(models.Model):
author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
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
#データベースの作成と追加
データベースの作成
Terminal
python manage.py makemigrations
データベースの追加
Terminal
python manage.py migrate
#管理者ページ(Django admin)の作成
blog/admin.pyに作ったモデルクラスを登録
blog/admin.py
from django.contrib import admin
from .models import Post
# Register your models here.
admin.site.register(Post)
#スーパーユーザーの作成
管理者サイトにログインできるスパーユーザーを作成する。
Terminal
python manage.py createsuperuser
#管理者ページにログインして記事を投稿
開発サーバを起動
Terminal
python manage.py runserver
ブラウザでアクセス
ブラウザ
http://127.0.0.1:8000/admin
先程登録したユーザー、パスワードでログイン
無事ログインできましたか?
3つほど記事を投稿してみましょう!
次回はWebサイトのページを作っていきます!