解决跨域HttpResponseJsonCORS, HttpResponseCORS 返回字典数据
2024-08-21 03:27:03
#!/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)
最新文章
- 3、Redis 基础
- Mongoose 的实例方法中访问静态方法
- paip. 解决php 以及 python 连接access无效的参数量。参数不足,期待是 1”的错误
- Android常用控件之GridView与ExpandableListView的用法
- 26Spring_的注解实际应用_关键整理一下之前的注解
- Codeforces 343D Water Tree 分类: Brush Mode 2014-10-05 14:38 98人阅读 评论(0) 收藏
- Android开发:彻底更改工程名
- Allegro设置十字大光标
- hdu 4617 Weapon(叉积)
- <;Araxis Merge>;保存文件
- 移动前端javascript事件
- 如何在一台机子上启动两个TOMCAT
- python安装第三方包的两种方式
- 【TED】如何掌握你的自由时间
- java Object类是可以接收集合类型的
- 第42章 发现(discovery) - Identity Server 4 中文文档(v1.0.0)
- 20155219付颖卓《网络对抗》MSF基础应用实验
- 我的微信小程序第三篇(app.json)
- py 正在爬取第%d页的美眉图
- Bootstrap模态框使用WebUploader点击失效问题解决