django ajax json的实例代码


Posted in Python onMay 29, 2018

1. views.py

定义views视图函数,将数据存入字典。并用压缩为json格式,dumps,并return。

import json
def get_comments(request, article_id):
 article_obj = models.Article.objects.get(id=article_id)
 article_comments = article_obj.comment_set.select_related()
 comment_dict = {}
 for i in article_comments:
 print('comments_id', i.id)
 print('article_id', i.article_id)
 print('parent_comment_id', i.parent_comment_id)
 print('comment_type', i.comment_type)
 print('user_id', i.user_id)
 print('user_name', i.user.name)
 print('comment', i.comment)
 print('date', type(i.date))
 print('date', time.strftime("%Y-%m-%d %H:%M:%S", i.date.timetuple()))
 comment_dict[i.id] = [i.comment_type, i.comment, time.strftime("%Y-%m-%d %H:%M:%S", i.date.timetuple()), i.article_id, i.user_id, i.user.name, i.parent_comment_id]
 comment_json = json.dumps(comment_dict)
 return HttpResponse(comment_json)

2. article.html中编辑js jquery,接受json数据,并处理并添加到html中

<script>
 function getComments() {
 $.get("{% url 'get_comment' one_article.id %}", function(callback){
 console.log(callback);
 var obj = JSON.parse(callback);
 console.log(this.comment_type);
 for (var key in obj){
 console.log(key);
 console.log(obj[key])
 }
 }
 function getCsrf() {
 return $("input[name='csrfmiddlewaretoken']").val();
 }
 $(document).ready(function () {
 $(".comment-box button").click(function () {
 var comment_text = $('.comment-box textarea').val();
 if (comment_text.trim().length < 5){
 alert("评论不能少于5个字")
 }else {
 $.post(
  "{% url 'post_comment' %}",
  {
  'comment_type':1,
  article_id: "{{ one_article.id }}",
  parent_comment_id:null,
  'comment':comment_text.trim(),
  'csrfmiddlewaretoken':getCsrf()
  },
  function (callback) {
  console.log(callback);
  if (callback == 'post-comment-success'){
  alert('post-comment-success');
  getComments();
  }
  }
 )
 }
 })
 })
</script>

以上这篇django ajax json的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用修饰器执行函数的参数检查功能示例
Sep 26 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
Python实现带参数与不带参数的多重继承示例
Jan 30 Python
Python Des加密解密如何实现软件注册码机器码
Jan 08 Python
pytorch进行上采样的种类实例
Feb 18 Python
python+opencv3生成一个自定义纯色图教程
Feb 19 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
Python如何执行精确的浮点数运算
Jul 31 Python
Python Pygame实现俄罗斯方块
Feb 19 Python
Python并发编程实例教程之线程的玩法
Jun 20 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
May 29 #Python
PyTorch学习笔记之回归实战
May 28 #Python
Django 使用Ajax进行前后台交互的示例讲解
May 28 #Python
Python实现爬虫爬取NBA数据功能示例
May 28 #Python
Django+Ajax+jQuery实现网页动态更新的实例
May 28 #Python
Python实现合并两个列表的方法分析
May 28 #Python
django js实现部分页面刷新的示例代码
May 28 #Python
You might like
Yii使用Captcha验证码的方法
2015/12/28 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
js读取配置文件自写
2014/02/11 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
自己动手写的javascript前端等待控件
2015/10/30 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
hovertree插件实现二级树形菜单(简单实用)
2016/12/28 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
Python实现CNN的多通道输入实例
2020/01/17 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
运动会广播稿300字
2014/01/10 职场文书
自行车租赁公司创业计划书
2014/01/28 职场文书
文秘自荐信
2014/06/28 职场文书
2014年售票员工作总结
2014/11/19 职场文书
实施意见格式范本
2015/06/05 职场文书
解除租赁合同协议书
2016/03/21 职场文书
签证扫盲贴,41个常见签证知识,需要的拿走
2019/08/09 职场文书
导游词之山海关
2019/12/10 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android