前提・実現したいこと
djangoで、ページでコメントの投稿、履歴の表示を出来るようにしたい。
発生している問題・エラーメッセージ
sbmitを押しても履歴が変わらない。
該当のソースコード
shop.html <h2>Comments</h2> <form action="{% url 'shop' %}" method="POST"> {% csrf_token %} <div> <label for="titleInput">Title</label> <input id="titleInput" name="title" type="text" placeholder="Input title"> </div> <div> <label for="textInput">Text</label> <textarea id="textInput" name="text" rows="3"></textarea> </div> <div> <button type="submit">Submit</button> </div> </form> {% if comments %} {% for comment in comments %} <div> {{ comment.title }} </div> <small>{{ comment.created_at }}</small> <div> {{ comment.message }} </div> {% endfor %} {% else %} <p>No comment.</p> {% endif %}
views.py def shop(request): if request.method == 'POST': comment = Comment(title=request.POST['title'], message=request.POST['text']) comment.save() context = { "comments": Comment.objects.all() } return render(request, 'team1_app/shop.html', context)
models.py class Comment(models.Model): title = models.CharField(max_length=255) message = models.TextField() created_at = models.DateTimeField('作成日', default=timezone.now) def __str__(self): return self.message[:20]
試したこと
migrate等はしました。
補足情報
初心者質問で申し訳ないです。
あなたの回答
tips
プレビュー