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 19 Python
Python利用flask sqlalchemy实现分页效果
Aug 02 Python
python 异或加密字符串的实例
Oct 14 Python
python reverse反转部分数组的实例
Dec 13 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
代码详解django中数据库设置
Jan 28 Python
Python3批量生成带logo的二维码方法
Jun 24 Python
对Python中画图时候的线类型详解
Jul 07 Python
pytorch 查看cuda 版本方式
Jun 23 Python
通过代码实例了解Python sys模块
Sep 14 Python
解决Jupyter-notebook不弹出默认浏览器的问题
Mar 30 Python
python Tkinter的简单入门教程
Apr 11 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
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
Jquery cookie操作代码
2010/03/14 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
javascript弹出带文字信息的提示框效果
2016/07/19 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
MVVM框架下实现分页功能示例
2018/06/14 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
[36:41]完美世界DOTA2联赛循环赛FTD vs Magma第一场 10月30日
2020/10/31 DOTA
python写日志封装类实例
2015/06/28 Python
Python卸载模块的方法汇总
2016/06/07 Python
Python实现简单过滤文本段的方法
2017/05/24 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
Java面试题:为什么要用Java
2012/05/11 面试题
女方婚礼新郎答谢词
2014/01/11 职场文书
广告业务员岗位职责
2014/02/06 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
个人债务授权委托书
2014/10/17 职场文书
办公室岗位职责
2015/02/04 职场文书
中学教师个人总结
2015/02/10 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
工程催款通知书
2015/04/17 职场文书
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle