Djangoを使用してブログプロジェクトに単純なコメントフォームを統合しようとしていますが、テンプレートは表示されません。私のコードを見て、私は同じテンプレートDjangoのテンプレートにコメントフォームをレンダリングする際に問題が発生しました
コメントフォーム(forms.py)
from django import forms
from .models import Comment
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ('comment',)
にレンダリングすることができるように詳細ビューとFormViewコントロールを結合する方法を知っておく必要がありいただきまし 間違った教えてください
VIEWS.PY
from django.views.generic import (ListView, DetailView,FormView)
from .import models
from django.shortcuts import render
from django.template import RequestContext
from .forms import CommentForm
class EntryDetail(DetailView):
model = models.EntryPost
form_class = CommentForm
template_name = "post.html"
def comment_valid(request, form):
if request.method == "POST":
comment_form = form_class(request.POST or None)
if comment_form.is_valid():
comment = comment_form.cleaned_data['comment']
comment.save()
return super(EntryDetail).comment_valid(form)
else:
form = CommentForm()
return render(request,'post.html',{"form":comment_form,})
フォームテンプレート
{% extends "base.html" %}
{# {% load django_markdown %} #}
{% block entry_posts %}
<div class="post">
<h2><a href="{% url "entry" slug=object.slug %}">{{ object.title }}</a></h2>
<p class="meta">
{{ object.created }} |
Tagged under {{ object.tags.all|join:", " }}
</p>
{{ object.body }}
</div>
<form method="POST" action="">{% csrf_token %}
{{form}}
<input type="submit" value="Post Comment" class="btn btn-default">
</form>
<div class="post">
<strong>COMMENTS</strong>
<hr/>
{% for comment in entrypost.comments.all %}
{% if comment.approve %}
<div class="comment">
<strong>{{ comment.name}}| created:{{comment.created}}</strong>
<p>{{comment.comment|linebreaks}}</p>
</div>
{% endif %}
{% empty %}
<p> no comments :)</p>
{% endfor %}
</div>
{% endblock %}
嘆願私はちょうど私がサーバーを実行するときに間違った原因を教えてくれることを親切に教えてくださいコメントを入力するコメントフィールドを見ることができません私は投稿のコメントボタンを見ることができます。この問題を解決するための寄付を歓迎します。
本当にありがとうございます。私は{{form}}としてレンダリングしても、まだコメントフィールドを表示していません。 – lotlord
コメントフィールドか何もありませんか? – Coder949
コメントフィールド – lotlord