前回 https://qiita.com/YuDachi/items/e5513b17843bb22a1689
元記事 https://note.com/saito_pythonista/n/n6550f5c2a07b
前回は投稿一覧/詳細ページのイメージを作成した。今回は引き続き投稿作成/削除画面を作成する。
イメージまで作成しようと思ったが、元記事の完成形を見る限り今作成する必要は無さそうだったので、ページの表示のみを目標にする。
やることは前回までと同じなので、細かな説明はしない。おおまかな流れとしては、
- htmlファイルを作成
- htmlファイルに対応するviewを、views.pyに記述
- viewに対応するURLを、urls.pyに記述
- ページが表示されるか確認
確認するためのリンクを設置するのを忘れてたので、createボタンはlist.htmlに、deleteボタンはdetail.htmlに配置することにした。
views.py
views.py
# 追加
class CreateView(TemplateView):
template_name = "create.html"
# 追加
class DeleteView(TemplateView):
template_name = "delete.html"
urls.py
urls.py
urlpatterns = [
path('', Home.as_view(), name='home'),
path('detail1', DetailView.as_view(), name='detail1'),
path('create', CreateView.as_view(), name='create'), #追加
path('delete', DeleteView.as_view(), name='delete'), #追加
]
list.html
list.html
<div class="container">
<div class="tweet">
---(中略)---
</div>
<div class="tweet">
---(中略)---
</div>
# 追加
<a href="./create" class="create">ツイート作成</a>
</div>
detail.html
detail.html
<div class="container">
<h1>THIS IS DETAIL</h1>
<div class="tweet">
---(中略)---
</div>
# 追加
<a href="./delete" class="delete">削除</a>
</div>
これで、内容はともかく必要なページの表示が完了した。
ちょっと短いが今回はここで一区切りで、次回からモデル周りの実装に移っていく予定。
作りながらやっているので分量がバラバラだったり、コードの載せ忘れ(特にCSSとか)が多そうなので、完走したら読みやすくしたものを書きたいという気持ち。