【发布时间】:2019-11-01 03:57:12
【问题描述】:
我能够加载通过管理页面添加的 cmets,但我无法在 DetailView 本身中创建表单
我已尝试在详细视图模板中添加表单,但在站点中仍然看不到该表单
#views.py
class MessageDetailView(DetailView):
model = Message
template_name = "messaging/detail.html"
#queryset = Message.objects.all()
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['comments'] = Comment.objects.filter(message=self.object)
return context
#detail.html
<form method="POST">
{% csrf_token %}
<h3>Write a New Comment</h3>
<div class="messagebox">
{{ form|crispy }}
<button class="btn" type="submit">
Post Comment
</button>
</div>
</form>
#forms.py
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = ("comment")
#models.py
class Comment(models.Model):
message = models.ForeignKey(Message,on_delete=models.CASCADE)
comment = models.TextField(max_length=50)
date_posted = models.DateTimeField(default=timezone.now)
def __str__(self):
return "Comment on {}".format(str(self.date_posted))
站点加载了cmets,但是表单没有加载,有什么办法解决这个问题吗?请在答案中提供一些代码,而不仅仅是将我链接到纪录片。
【问题讨论】:
标签: python django python-3.x mixins django-class-based-views