django 视图函数返回queryset对象或日期对象至浏览器ajax接收的写法

摘要:
classMyDateTimeEncode(json.JSONEncoder):defdefault(self,o):ifisinstance(o,datetime):returno.strftime(“%Y-%m-%d%H:%m:%S”)elifiinstance(o,date):retorno.strftiname(“%Y-%m-%d”)else:returnjson.json编码器.d
class MyDateTimeEncode(json.JSONEncoder):
    def default(self, o):
        if isinstance(o, datetime):
            return o.strftime('%Y-%m-%d %H:%M:%S')
        elif isinstance(o, date):
            return o.strftime('%Y-%m-%d')
        else:
            return json.JSONEncoder.default(self, o)

def seriallizer_view(request):
    books_obj = models.Book.objects.all()
    # 传queryset对象
    # json_books_obj = serializers.serialize('json', books_obj)
    time1 = datetime.now()
    json_time1 = json.dumps(time1, cls=MyDateTimeEncode)
    if request.method == "POST":
        return HttpResponse(json_time1)
        # return JsonResponse({"key": 'OK'})  # 默认只能传值字典,其余字符串等需要设置参数safe=False
    return render(request, 'serial.html')

前端ajax代码:

django 视图函数返回queryset对象或日期对象至浏览器ajax接收的写法第1张django 视图函数返回queryset对象或日期对象至浏览器ajax接收的写法第2张
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.js"></script>
    <script src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.js"></script>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
    <script src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.js"></script>
</head>
<body>
<button id="btn">点我获取数据</button>

<script>
    $("#btn").click(function () {
        {#$.ajax({#}
        {#    url:"",#}
        {#    type:'post',#}
        {#    contentType:'json',#}
        {#    headers:{"X-CSRFToken":$.cookie("csrftoken")},#}
        {#    data:{},#}
        {#    success:function (res) {#}
        {#        data = JSON.parse(res);#}
        {#        console.log(data[0]);#}
        {#        console.log(typeof res);#}
        {#        for(var i=0;i<data.length;i++)#}
        {#        $("body").append(`<li>${data[i].fields.title}</li>`)#}
        {#    }#}
        {#)#}
        $.ajax({
            url:"",
            type:'post',
            contentType:'json',
            headers:{"X-CSRFToken":$.cookie("csrftoken")},
            data:{},
            success:function (res) {
              console.log(res);
              console.log(typeof JSON.parse(res))
            }
        })
    })
    
</script>
</body>
</html>
ajax代码

免责声明:文章转载自《django 视图函数返回queryset对象或日期对象至浏览器ajax接收的写法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇了解一下Mysql的刷脏以及如何合理刷脏linux驱动开发(四) 字符设备驱动框架(自动创建设备节点)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

django学习-29.表单提交方式之一:post请求(注册/登录/改密)

目录结构 1.写这篇博客的目的 2.完整操作流程 2.1.第一步:新增相关html页面 2.1.1.新增一个【index_html.html】 2.1.2.新增一个【login_html.html】 2.1.3.新增一个【register_html.html】 2.1.4.新增一个【register_success_html.html】 2.1.5.新增一...

jquery分析之文件

一、文件分析1、从github中把jquery的源码全部下载下来,其中的src文件夹,是jquery的所有功能文件夹,jquery现在开始把功能都进行模块化开发,支持amd和cmd。 jquery-master>src 2、分析文件 ajax——ajax功能 attribute——选择器功能 core——核心代码 css——css操作 data——文...

Django命名空间app_name和namespace

前言: django命名空间解决什么问题? 在多个app之间,有可能产生同名的url,这个时候避免反转url的时候混淆,可以使用应用命名空间做区分。应用命名空间使用。在应用url中定义 app_name; 一个app,可以创建多个url映射到一个app中,所以就会产生一个问题,在做反转的时候,如果不使用命名空间,就会混淆,为了避免这个问题。我们可以使用实...

Python Django CMDB项目实战之-1如何开启一个Django-并设置base页、index页、文章页面

1.环境 win10 python 2.7.14 django 1.8.2 需要用到的依赖包:MySQLdb(数据库的接口包)、PIL/pillow(处理图片的包) 安装命令: pip install django==1.8.2 pip install pillow 2、学习django需要的知识点: python基础 mysql基本查询 Html css...

操蛋的Django model------select_related() 主要用于一对一和一对多

实例: 创建表,表都是一对一,一对多 class Province(models.Model): name = models.CharField(max_length=10) class City(models.Model): name = models.CharField(max_length=5) province = mode...

总目录

博客总目录Python部分 计算机基础,Python之变量以及简单的循环 Python基础数据类型之int、bool、str Python基础数据类型之列表和元组 Python基础数据类型之字典 Python之格式化输出,初始编码以及运算符 Python之编码 Python基础数据类型之集合以及其他和深浅copy Python之文件操作 Python 中...