django - 如何在 Django 中向前端添加评论表单?
问题描述
我想在我的 Django 项目中添加评论表单。我已经成功地将我的评论应用程序添加到 Django 管理面板中,并且在管理面板中一切正常。我不知道如何在前端显示评论表单以及该表单以供用户使用。
模型.py
class Comment(models.Model):
post= models.ForeignKey(Tellmeyourstory,
on_delete=models.CASCADE,
related_name='comments')
user2 = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=80)
email = models.EmailField()
body = models.TextField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
active = models.BooleanField(default=True)
class Meta:
ordering = ('created',)
def __str__(self):
return 'Comment by {} on {}'.format(self.name, self.post)
视图.py
def detail(request,stories_id):
stories=get_object_or_404(Tellmeyourstory, pk=stories_id)
return render(request, 'detail.html', {'stories': stories})
解决方案
您可以为此目的使用modelform
from django import forms
class CommentForm(forms.ModelForm):
class Meta:
model = Comment
fields = '__all__'
在您查看评论表上方的导入
def index(request):
form = CommentForm()
context = {'form' : 'form'}
return render(requset, 'path/to/html', context)
在您的 html 中只需像这样传递表单
{{ form }}
推荐阅读
- asp.net - How can I view IBM Watson Assistant conversation logs in my ASP.net application?
- javascript - 从外部的 axios 返回响应值
- java - 是否有一种方法可以在线程之间进行通信并交换信息,例如在 java 中的可运行对象中的 getter 方法
- python - 如何在不替换其他字母的情况下替换某个字母?
- php - 如何在 PHPSpreadsheet 中获取命名范围
- sql - 如果值为 NULL,则左连接,否则为内连接
- ios - “self.pushViewController”在 Swift4 中不起作用
- ibm-cloud - IBM Voice Agent RTP 端口范围
- bash - 查找 1 小时前创建的文件
- python - 在极坐标中显示