短編カフェ日記帳機能開発編3 コメント機能追加

こんにちは。

今回は日記へのコメントができるようにしたいと思います。

Model

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='diary_comment_user')
    diary = models.ForeignKey(Diary, on_delete=models.CASCADE, related_name='comment_diary')
    text = models.TextField('本文', max_length=1000)
    created_date = models.DateTimeField(default=timezone.now)
    is_mute = models.BooleanField('ミュート', default=False)

基本的にファンレターと同じですね。novelのところがdiaryになります。

URL

    path('<uuid:pk>/comment/create/', views.CommentCreate.as_view(), name='comment_creat'),
    path('<uuid:pk>/comment/done/', views.CommentDone.as_view(), name='comment_done'),
    path('comment/send/', views.SendComment.as_view(), name='comment_send'),
    path('comment/receive/', views.ReceiveComment.as_view(), name='comment_receive'),
    path('comment/<uuid:pk>/delete/', views.CommentDelete.as_view(), name='comment_delete'),
    path('comment/<uuid:pk>/mute/', views.CommentMute.as_view(), name='comment_mute'),

URLは作成/お礼メッセージ部/送ったコメント/受け取ったコメント/削除(書き手)/削除(受け手)

です。ここもほぼファンレターと同じ感じ。

画面

日記の下にコメント受け付ける場合は以下の画面が表示されます。

なお、送信ボタンを押すとモーダルウィンドウが開いて確認画面が出てくるようにしました。

一覧画面

削除/ミュート

削除やミュートはファンレターと同じ仕様。

自動ミュートの設定は共通です。最初は分けようとしたけど、よくよく考えてみるとあえて分ける必要もないし二度手間になるだけかなと思います。


ということで、これで応援コメントもついたので、あとはYoutubeなどのSNSの埋め込み機能を実装したいと思います。

ここから先は

11字

「午後の月のお茶会」は夕月悠里が運営している小説投稿サイト関連のサイト、サービス開発制作、技術の学習…

お茶会プラン

¥300 / 月

良ければサポートお願いします。サポート費用はサーバー維持などの開発費に使わせていただきます。