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发送Email方法实例
Aug 21 Python
Python装饰器使用示例及实际应用例子
Mar 06 Python
Python中if __name__ == '__main__'作用解析
Jun 29 Python
基于python中的TCP及UDP(详解)
Nov 06 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
Python unittest 简单实现参数化的方法
Nov 30 Python
pandas DataFrame 交集并集补集的实现
Jun 24 Python
python shell命令行中import多层目录下的模块操作
Mar 09 Python
Python 实现简单的客户端认证
Jul 29 Python
OpenCV灰度化之后图片为绿色的解决
Dec 01 Python
python geopandas读取、创建shapefile文件的方法
Jun 29 Python
python使用matplotlib绘制图片时x轴的刻度处理
Aug 30 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
用PHP创建PDF中文文档
2006/10/09 PHP
php页面缓存ob系列函数介绍
2012/10/18 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
php文件缓存方法总结
2016/03/16 PHP
php 函数中静态变量使用的问题实例分析
2020/03/05 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
javascript深入理解js闭包
2010/07/03 Javascript
JavaScript的document对象和window对象详解
2010/12/30 Javascript
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
荷兰领先的百货商店:De Bijenkorf
2018/10/17 全球购物
安全资料员岗位职责
2013/12/14 职场文书
大学新生军训方案
2014/05/03 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
高三英语教学计划
2015/01/23 职场文书
公司员工奖惩制度
2015/08/04 职场文书
《画家和牧童》教学反思
2016/02/17 职场文书
优秀乡村医生事迹材料(2016精选版)
2016/02/29 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书
vue实现可拖拽的dialog弹框
2021/05/13 Vue.js
muduo TcpServer模块源码分析
2022/04/26 Redis