Djangoで掲示版を作っていたところ投稿内容がうまく表示されなくて困っています。Formで作成したデータは、管理画面で確認してモデルに入っているのですがhtmlに表示ができません。おそらく{% for answers in answer_list %}の部分がいけないと思われるのですが色々やってもうまくいきません。この場合のfor文の中身はどうすればいいのでしょうか?
python -----models.py----- class Diary(models.Model): user = models.ForeignKey(CustomUser, verbose_name='ユーザー', on_delete=models.PROTECT) title = models.CharField(verbose_name='タイトル', max_length=40) content = models.TextField(verbose_name='本文', blank=True, null=True) created_at = models.DateTimeField(verbose_name='作成日時', auto_now_add=True) updated_at = models.DateTimeField(verbose_name='更新日時', auto_now=True) class Meta: verbose_name_plural = 'Diary' def __str__(self): return self.title class Answer(models.Model): """投稿""" user = models.ForeignKey(CustomUser, verbose_name='ユーザー', on_delete=models.PROTECT) content = models.TextField(verbose_name='本文', blank=True, null=True) created_at = models.DateTimeField(verbose_name='作成日時', auto_now_add=True) updated_at = models.DateTimeField(verbose_name='更新日時', auto_now=True) class Meta: verbose_name_plural = 'Answer' def __str__(self): return self.content
python ----- views.py------ class DiaryDetailView(DetailView): model = Diary template_name = 'diary_detail.html' class AnView(CreateView): model = Answer fields = ('user', 'content') template_name = 'answer.html' def form_valid(self, form): diary_pk = self.kwargs['pk'] diary = get_object_or_404(Diary, pk=diary_pk) answer = form.save(commit=False) answer.target = diary answer.save() return redirect('ampapp:diary_detail', pk=diary_pk)
python -------diary_detail.html------ {% for answers in answer_list %} <h1> 名前:{{ answers.user }}</h1> <h2>内容:{{ answers.content }}</h2> {% endfor %}
python -----answer.html------ <form method="POST" enctype='multipart/form-data'> {% csrf_token %} <table class="table"> {{ form.as_table }} </table> <button class="btn btn-primary" type="submit">作成</button> </form>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/04/21 10:28
2020/04/21 10:46
退会済みユーザー
2020/04/21 15:05 編集