zoukankan      html  css  js  c++  java
  • ajax返回值,json数据,分页器,批量创建

    ajax 返回没有render  redirect  只有返回字符串
    {# form表单提交数据:form提交数据后,一定会发生页面的跳转 #}
    {# ajax提交数据:只向后台请求数据,请求的过程是异步的,请求成功后有一个回调函数,携带后台返回的数据
    $('.button_ajax').click(function () {
    {#console.log($('.usr').val());#}
    {#window.alert($('.usr').val())#} window作为最高调用对象
    {#console.log(window.document.getElementById(1));#} 给参数id返回原标签对象
    {#window.location.href='https://www.baidu.com';#} 直接跳转目标连接,需要给字符串
    $.ajax({
    url:'/index/',
    type:'post',
    data:JSON.stringify({'usr':$('.usr').val(),'pwd':$('.pwd').val()}), 转化为json数据
    success:function(data){
    console.log(data)



    },
    {#error: function (e) {#} 发生错误接收不到数据时执行
    {# console.log(e)#}


    })
    })
    import json
    from django.http import JsonResponse
    # Create your views here.
    def home(request):
    print(request.body)
    data=request.body
        data=json.dumps(data.decode('utf-8'),ensure_ascii=False)
       
    print(type(request.body))
    print(request.POST.get('usr',None))

    return HttpResponse(data, content_type='application/json') 告诉前端是json数据
    # return JsonResponse(data, safe=False, json_dumps_params={'ensure_ascii': False})# 返回值保证是字典类型  safe在False情况下就支持返回列表或字符串# 取消json的dumps方法采用的默认ascii编码中文

    在前端,post代码中,必须加入参数:

    
    

    dataType : "json",
    在后台,必须将文本转为json格式返回:

    
    

    jlist=json.dumps(list,ensure_ascii=False)
    只在后台转为json,前端不指定接受方式,js会将传输的数据解析为普通文本;

    
    

    只在前端指定接收方式,后台不转为json,会导致传输出错
    ---------------------
    作者:niewzh
    来源:CSDN
    原文:https://blog.csdn.net/ScapeD/article/details/82177166
    版权声明:本文为博主原创文章,转载请附上博文链接!

     

    # 分页对象列表
    book_list = Book.objects.all()
    # 分页对象
    paginator = Paginator(book_list, 6) # 分页对象列表,每一页对象(最大)数
    # 对象总个数
    count = paginator.count
    # 总分页树
    num_pages = paginator.num_pages
    # 页码列表(可迭代对象)
    page_range = paginator.page_range

    
    

    # 某一具体页
    page = paginator.page(3) # 具体第几页
    # 是否有上一页
    page.has_previous()
    # 上一页编码
    page.previous_page_number()
    # 是否有下一页
    page.has_next()
    # 下一页编码
    page.next_page_number()
    ```

    
    

    ## 批量插入数据

    
    

    ```python
    book_list = []
    for i in range(100):
    book = Book(name='book%s' % i, price=11.11, publish_date='2018-1-1', publish_id=1)
    book_list.append(book)
    # 操作对象列表,一次操作多少条数据
    Book.objects.bulk_create(book_list, 20) # 插入100条数据只需要执行5次sql
    ```



  • 相关阅读:
    Qt开发的应用记录读取用户习惯设置的方法
    Windows软件Everything的配置
    C语言的类型大小
    Petalinux和Vivado的安装
    Linux下MiniGUI库的安装
    Linux下的screen和作业任务管理
    Linux下的upx命令学习
    Linux下的strip命令学习
    地址解析协议(ARP)
    IP 地址结构
  • 原文地址:https://www.cnblogs.com/wrqysrt/p/10512875.html
Copyright © 2011-2022 走看看