公開機能の追加
下書きのままでは公開されないので、公開機能を追加します。
公開ボタンを作成
Editボタンの上にPublishボタンを追加します。
blog/templates/blog/post_detail.html
{% if not post.published_date %}
<a class="btn btn-warning" href="{% url 'post_publish' pk=post.pk %}" role="button">Publish</a>
{% endif %}
公開ボタンのurlを作成
blog/urls.py
path('post/<int:pk>/publish/', views.post_publish, name='post_publish'),
公開ボタンのViewを作成
blog/views.py
from django.shortcuts import render, redirect, get_object_or_404
def post_publish(request, pk):
post = get_object_or_404(Post, pk=pk)
post.publish()
return redirect('post_detail', pk=pk)
下書きでPublishボタンをクリックすると、詳細ページにリダイレクトされます。
これで無事公開ができました。
トップページにも投稿内容が表示されているはずです。