zoukankan      html  css  js  c++  java
  • 小知识,大智慧(restframework 拾忆)

    一、直接对query_set序列化,在页面展示的效果是Unicode 编码格式 ,可在json 序列化时候加入一个参数

     course_query = DegreeCourse.objects.all().values('pk','name')
            course_list = list(course_query)
            import json
            ret = json.dumps(course_list)
            return HttpResponse(ret)
    
    
    
    # 在前台展示效果如下
    [{"pk": 3, "name": "DBA"}, {"pk": 2, "name": "Linuxu8fd0u7ef4"}, {"pk": 1, "name": "pythonu5168u6808"}]
     如果是在js中打印则不影响。
    # 如果在json 时候加入一个参数
    
     ret = json.dumps(course_list,ensure_ascii=False)
    
    效果将成中文
    [{"pk": 3, "name": "DBA"}, {"pk": 2, "name": "Linux运维"}, {"pk": 1, "name": "python全栈"}]
    View Code

    二 、JsonResaponse 如果传进去的参数是一个列表 那么 前台会显示一个报错

     set the safe parameter to False.
    此时需要加一个参数
    JsonResponse(course_list,safe=False)

    如果想让页面直接展示中文效果

    JsonResponse(course_list,safe=False,json_dumps_params={'ensure_ascii':False})

    三 request.user 如果没有登录的话,会显示一个匿名用户AnonymousUser,如果想让他显示一个空呢

    REST_FRAMEWORK 中配置如下
         'UNAUTHENTICATED_USER':None,   # 显示None
        'UNAUTHENTICATED_USER':lambda:'' , 显示“”


  • 相关阅读:
    零散的学习总结
    JSON学习整理
    轮播图
    关于new Object的小结
    js函数声明和函数表达式的区别
    float小结
    DOM文档加载步骤
    css主要的浏览器兼容性问题
    js for循环小记
    CANVAS中的lineWidth小计
  • 原文地址:https://www.cnblogs.com/zjchao/p/8857240.html
Copyright © 2011-2022 走看看