2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Django Webアプリ作成(4) モデル作成

Posted at

環境
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サイトのページを作っていきます!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?