javascript - 如何将评论对象传递给django中的回复表单
问题描述
我找不到将评论模型传递给 jQuery 回复表单的方法。github上的代码: github。片段代码如下。
我有两个模型:
User = settings.AUTH_USER_MODEL
class Comment(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
content = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
class Reply(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
comment = models.ForeignKey(Comment, on_delete=models.CASCADE)
content = models.TextField()
timestamp = models.DateTimeField(auto_now_add=True)
我通过 jQuery 创建回复表单:
$(document).ready(function(){
$form = $('<form class="mt-3" method="POST" action="/reply/"></form>');
$form.append("<input type='hidden' name='csrfmiddlewaretoken' value='" + csrftoken + "'>");
$form.append('<textarea name="content" id="" cols="30" rows="5"></textarea>');
$form.append('<br />');
$form.append('<input type="button" value="Cancel" class="btn btn-dark me-2 remove-button">');
$form.append('<input type="submit" value="Post" class="btn btn-primary">');
$(".reply-button").click(function(){
$button = $(this);
$button.parent().append($form);
});
//gán sự kiện khi sử dụng append một đối tượng sau này
$(document).on('click', '.remove-button', function(){
$form.remove();
});
})
动作重定向到回复视图视图:
class ReplyView(View):
def post(self, request, *args, **kwargs):
# I expect something can get Comment id for reply
qs = Comment.objects.filter(id = 1)
comment = qs.first()
if request.user.is_authenticated:
r = Reply(user = request.user, comment = comment, content= request.POST.get("content"))
r.save()
return redirect("comment-page")
解决方案
推荐阅读
- c# - 如何在 c# 中找到随机生成的 int 的最后一个值?
- git - 无法配置 .gitattributes 以对合并产生任何影响
- javascript - 在反应中通过拖放创建受控输入
- python - 如果列表不够长,则将项目添加到列表中
- c - 如何在C的头文件中隐藏函数?
- javascript - TypeError:当检查值等于零时,无法读取未定义的属性“0”
- terraform - 如何根据资源所在的环境动态命名资源?
- javascript - React-Redux:JSX 中的访问调度类型
- gcc - 刷完 SD 卡 / Buildroot Distro 后安装 GCC
- mongodb - MongoDB 4.4.1 mirroredRead vs secondaryPreferred readPerence