使用AJAX POST添加注释并在Django中显示它

时间:2017-06-20 12:12:00

标签: jquery ajax django

我刚开始学习ajax。我在我的Django项目中实现它,每个讨论(模型)都有注释(模型)。我设计的是每次评论后页面刷新。但我不想这样做,所以使用AJAX也是如此。

views.py:

def single_discuss(request, slug):
    discussion = get_object_or_404(Discussion, slug=slug)
    comments = Comment.objects.filter(discussion=discussion)
    if request.user.is_authenticated():
        if request.method == "POST":
            comment_form = CommentForm(request.POST)
            if comment_form.is_valid():
                comment_form = comment_form.save(commit=False)
                comment_form.commenter = request.user
                comment_form.discussion = discussion
                comment_form.save()
                return redirect('single_discuss', slug=discussion.slug)
        comment_form = CommentForm()
    else:
        comment_form = None
    return render(request, 'single_discuss.html',
                  {'discuss': discussion, 'comments': comments,
                   'comment_form': comment_form})

single_discuss.html:

<div class="single-comment">
        <form class="form-inline" method="POST">
            {% csrf_token %}
            {{ comment_form.as_p }}
            <button type="submit" class="btn btn-primary">Comment!</button>
        </form>
</div>

我是怎么做到的?我正在尝试学习AJAX,所以请告诉我在哪里可以添加什么以及为什么?提前谢谢。

我尝试了解this answer其他内容,this one即使标记正确,我也不会完全认为答案。

0 个答案:

没有答案