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使用rsa加密算法模块模拟新浪微博登录
Jan 22 Python
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
Jul 09 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
Nov 20 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
详解python中init方法和随机数方法
Mar 13 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
Aug 27 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
django在保存图像的同时压缩图像示例代码详解
Feb 11 Python
Python图像处理库PIL的ImageGrab模块介绍详解
Feb 26 Python
python画图常规设置方式
Mar 05 Python
浅谈Tensorflow加载Vgg预训练模型的几个注意事项
May 26 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
Feb 06 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
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
2007/01/15 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
javascript生成大小写字母
2015/07/03 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
2017/03/15 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
2019/11/20 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
Python构造函数及解构函数介绍
2015/02/26 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
python学习基础之循环import及import过程
2018/04/22 Python
利用Python进行图像的加法,图像混合(附代码)
2019/07/14 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
html5与css3小应用
2013/04/03 HTML / CSS
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
介绍一下RMI的基本概念
2016/12/17 面试题
公司经理聘任书
2014/03/29 职场文书
入股协议书
2014/04/14 职场文书
消防安全承诺书
2014/05/22 职场文书
合作协议书模板2014
2014/09/26 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
教你用eclipse连接mysql数据库
2021/04/22 MySQL
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
sql server 累计求和实现代码
2022/02/28 SQL Server
Vue Element plus使用方法梳理
2022/12/24 Vue.js