zoukankan      html  css  js  c++  java
  • 解决跨域HttpResponseJsonCORS, HttpResponseCORS 返回字典数据

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    import json
    from django.http import HttpResponse
    
    def HttpResponseJsonCORS(request,s):
        response = HttpResponse(s,content_type="application/json")
        try:
            origin = request.META['HTTP_ORIGIN']
        except:
            origin = 'http://127.0.0.1'
    
        if origin.find("192.168") >0 :
            pass
        elif origin.find("127.0.0.1") >0 :
            pass
        # else:
        #     origin = front_url
        print origin
        response["Access-Control-Allow-Origin"] = "%s"%(origin)
        response["Access-Control-Allow-Credentials"] = "true"
        response["Access-Control-Allow-Methods"] = "POST, GET, OPTIONS"
        response["Access-Control-Max-Age"] = "1000"
        response["Access-Control-Allow-Headers"] = "*"
        return response
    
    
    def HttpResponseCORS(request, s):
        response = HttpResponse(s)
        try:
            origin = request.META['HTTP_ORIGIN']
        except:
            origin = 'http://127.0.0.1'
        if origin.find("192.168") > 0:
            pass
        elif origin.find("127.0.0.1") > 0:
            pass
        # else:
        #     origin = front_url
    
        # sql = "insert into sql_log (`sql`) values ('%s')"%(origin)
        # print sql
        # db.executesql(sql)
    
        response["Access-Control-Allow-Origin"] = "%s" % (origin)
        response["Access-Control-Allow-Credentials"] = "true"
        response["Access-Control-Allow-Methods"] = "POST, GET, OPTIONS"
        response["Access-Control-Max-Age"] = "1000"
        response["Access-Control-Allow-Headers"] = "*"
        return response
    
    
    def index(request):
        # 原始数据
        rows = (('apollo', 'male', '164.jpeg'), ('apollo', 'male', ''))
        # 表头
        names = 'username gender pic'.split()
        # URL公共部分
        fs_url = 'http://www.baidu.com/'
    
        # 新数据列表
        L = []
        for e in rows:
            L1 = list(e)
            pic = e[2]
            if pic == '':
                L1[2] = "%suser_pic/default.jpg" % (fs_url)
            else:
                L1[2] = "%suser_pic/small_%s" % (fs_url, pic)
            L.append(L1)
        print L
        # 用zip组合列表套字典
        """
        [{'username': 'apollo', 'gender': 'male', 'pic': 'http://www.baidu.com/user_pic/small_164.jpeg'}, 
        {'username': 'apollo', 'gender': 'male', 'pic': 'http://www.baidu.com/user_pic/default.jpg'}]
        """
        data = [dict(zip(names, d)) for d in L]
        print data
        # 对上面结果Json序列化
        """
        [{"username": "apollo", "gender": "male", "pic": "http://www.baidu.com/user_pic/small_164.jpeg"}, 
         {"username": "apollo", "gender": "male", "pic": "http://www.baidu.com/user_pic/default.jpg"}]
         """
        info = json.dumps(data, ensure_ascii=False)
        print info
        # 组合返回结果,返给前端
        """
        response = {
                "errcode": 0,
                "errmsg": "获取用户列表成功",
                "readLog":[{"username": "apollo", "gender": "male", "pic": "http://www.baidu.com/user_pic/small_164.jpeg"},
                           {"username": "apollo", "gender": "male", "pic": "http://www.baidu.com/user_pic/default.jpg"}]
                }
        """
        s = """
            {
            "errcode": 0,
            "errmsg": "获取用户列表成功",
            "readLog":%s
            }
            """ % (info)
    
        print s
        return HttpResponseJsonCORS(request,s)
    
  • 相关阅读:
    SOJ 4580 动态规划之01背包 (01背包)
    文件比较与同步工具——FreeFileSync
    肺结节CT影像特征提取(五)——肺结节CT影像ROI区域灰度直方图及其图形化
    JAVA学习笔记(4)—— 排序算法
    JAVA学习笔记(3)—— 抽象类与接口
    JAVA学习笔记(2)—— java初始化三个原则
    JAVA学习笔记(1)—— eclipse自动补全和主题及字体配置
    3D Slicer中文教程(八)—导出STL文件
    3D Slicer中文教程(七)—图像中值滤波
    “Excel-建议不可用于您所选择的数据”错误提示
  • 原文地址:https://www.cnblogs.com/apollo1616/p/10418466.html
Copyright © 2011-2022 走看看