読者です 読者をやめる 読者になる 読者になる

TomoProgの技術書

底辺プログラマーが達人プログラマーになるまで

Djangoを使って掲示板を作ってみる Part1

皆さん
こんにちは、こんばんは
TomoProgです。

Djangoを使って掲示板を作ってみる Part0を書いてから3日ほど経過しました。
そろそろPart1を書こうと思います。

それでは頑張っていきましょう。

掲示板に必要なページを考える

まずは掲示板に必要なページを考えていきます。
とりあえず、思いついたものをどんどん書いていきます。

1. トピックの一覧ページ
2. トピックの内容を一覧できるページ
3. トピックを作成するページ
4. トピックの内容に対して返信するページ
5. 使い方の説明をするページ
6. お問い合わせページ
7. ログインページ

かなり大雑把ですが、とりあえずこの7ページを作れば掲示板としては機能しそうかなと思いました。
作っていく間にこれも必要、あれも必要となった場合は臨機応変にいきましょう。

DBを設計する

とりあえず、DBも大雑把に設計してみます。
djangoのmodels.pyに定義した内容は以下の通りです。

from django.db import models

# Create your models here.
class Topic(models.Model):
    """ Topic Table """
    title = models.CharField(max_length=500)
    register_name = models.CharField(max_length=20)
    register_datetime = models.DateTimeField()
    update_name = models.CharField(max_length=20)
    update_datetime = models.DateTimeField()

    def __str__(self):
        return self.title

class TopicDetail(models.Model):
    """ TopicDetail Table """
    title = models.ForeignKey(Topic, on_delete=models.CASCADE)
    text = models.TextField()
    register_name = models.CharField(max_length=20)
    register_datetime = models.DateTimeField()
    update_name = models.CharField(max_length=20)
    update_datetime = models.DateTimeField()

    def __str__(self):
        return self.title

Topicという親テーブルとそれに紐づくTopicDetailという子テーブルを作りました。
Topicテーブルの一覧を表示するページからトピックを選択することで、TopicDetailの内容を表示するページに遷移するようにイメージして作ってみました。

DBに関しても別のテーブルが必要になったり、テーブルのフィールドや属性を変更したくなった時は随時変更していきます。

とにかくざっくり動くものを目指して作っていきます!!

それではまた。

TomoProg

GitHub
TomoProg (TomoProg) · GitHub

Twitter
TomoProg (@TomoHelloxxx) | Twitter