ajax django 定时刷新,django ajax提交评论并自动刷新功能的实现代码

这篇文章主要介绍了django ajax提交评论并自动刷新功能的实现代码,需要的朋友可以参考下

在试了很多次了,终于搞定了,上代码吧。(我用的是jQuery的ajax,不是原生的)

js代码:

$(document).ready(function () {

getcomment();

$('.comment-box button').click(function () {

var comment_text = $('.comment-box textarea').val();

$.ajax({

type: 'POST',

url: '/bbs/article/{{ article_list.id }}/comment/',

data: {comment: comment_text},

success:function (callback) {

var data = $.parseJSON(callback);

$('.callback').html(data.result);

if(data.result === 'successfully') {

getcomment();

}

}

})

});

});

function getcomment() {

$.ajax({

type: 'GET',

url: '/bbs/article/{{ article_list.id }}/get_comment/',

success:function (call) {

var datas = $.parseJSON(call);

$('.comment-list').html(datas.answer);

}

})

}

在全文加载后调用getcomment()函数,从数据库中获取评论,自己写的评论提交后再次调用getcomment()函数,自动刷新

html模板(用到是bootstrap模板):

请评论:

评论


视图函数:@csrf_exempt

def comment(request,article_id):

if request.method == 'POST':

comments = request.POST['comment']

if len(comments) < 5:

result = u'评论数需大于5'

return HttpResponse(json.dumps({'result': result}))

else:

result = 'successfully'

Comment.objects.create(content= comments, article_id=article_id)

return HttpResponse(json.dumps({'result': result}))

这是提交评论的函数,别忘记添加csrf装饰器def get_comment(request, article_id):

article_list = get_object_or_404(Article, id=article_id)

comments = article_list.comment_set.all()

html = ''

for i in comments:

ele = '

作者:' + 'i.user' + '

' + i.content + '


'

html += ele

return HttpResponse(json.dumps({'answer': html}))

后台获取评论的函数。

最后将textarea的值清空:function resettext() {

$('.form-control').val('');

}

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值