Progateで作ったWebアプリをDjangoで作ってみる2! Part5 -データベース編-
目標物の確認
ProgateのNode.jsコースで作ったブログアプリと同じものをDjangoで作ってみます。
Djangoでのアプリ開発の一連の流れを整理するために記していきます。
models.py
models.pyファイルの作成を進めていきます。
今回作成するブログに使う情報は、タイトル、要約、本文、カテゴリーの4つです。
BlogModelというclassを定義して、modelsモジュールの中のModelクラスを継承させるために、BlogModelの中でmodels.Model
というコードを書きます(☆1)。
ブログのタイトルはCharFieldを定義しました。CharFieldは短めの文字列情報を扱うフィールドです。CharFieldを作成するときはMax_length
(最大文字数)という引数を設定します。今回は最大100文字とします(☆2)。
要約と本文はTextFieldを定義します。TextFieldはCharFieldと同じイメージで長めの文字列情報を扱うときに使います(☆3)。
最後のカテゴリーはまた、CharFieldです。ですが、さっきのタイトルと異なり、choices=CATEGORY
という引数が入っています。右の表示がhtmlファイル上で表示される項目、左の表示がhtmlファイル上で表示される項目です。つまり、CATEGORY = (('all', '全員'), ('limited', '会員限定'))
の左側は機械が理解できる項目で、右側が人が理解できる項目です
from django.db import models # ☆1
CATEGORY = (('all', '全員'), ('limited', '会員限定')) # ☆4
class BlogModel(models.Model): # ☆1
title = models.CharField(max_length=100) # ☆2
summary = models.TextField() # ☆3
content = models.TextField() # ☆3
category = models.CharField( # ☆4
max_length=50,
choices=CATEGORY)
def __str__(self):
return self.title
マイグレーションしていきます。
> python manage.py makemigrations
> python manage.py migrate
admin.py
admin.pyファイルにコードを追加し、管理画面にBlogModelを表示させることも忘れずに。
from django.contrib import admin
from .models import BlogModel
admin.site.register(BlogModel)
ブログ記事の追加
最後に管理者ツールからBlogModelを選択して、個々の記事を入れていきます。
Author And Source
この問題について(Progateで作ったWebアプリをDjangoで作ってみる2! Part5 -データベース編-), 我々は、より多くの情報をここで見つけました https://qiita.com/insilicomab/items/0a5428bbe8758da74abb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .