没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
5页
我就废话不多说了,大家还是直接看代码吧! contacts = ExternalContacts.objects.filter(MobileKey=mobile_obj) house = House.objects.none() for contact in contacts: house = house | contact.house_set.all() return house.distinct() 合并出来的queryset,再去重。 补充知识:Python——深入理解urllib、urllib2及requests(requests不建议使用?)
资源推荐
资源详情
资源评论
django queryset 去重去重 .distinct()说明说明
我就废话不多说了,大家还是直接看代码吧!
contacts = ExternalContacts.objects.filter(MobileKey=mobile_obj)
house = House.objects.none()
for contact in contacts:
house = house | contact.house_set.all()
return house.distinct()
合并出来的queryset,再去重。
补充知识:补充知识:Python——深入理解深入理解urllib、、urllib2及及requests((requests不建议使用?)不建议使用?)
Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于
1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议[1] 。Python语法简洁而清晰,具有丰富和强大的类
库。
urllib and urllib2 区别区别
urllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能。
urllib2.urlopen accepts an instance of the Request class or a url, (whereas urllib.urlopen only accepts a url 中文意思就是:
urllib2.urlopen可以接受一个Request对象或者url,(在接受Request对象时候,并以此可以来设置一个URL 的
headers),urllib.urlopen只接收一个url
urllib 有urlencode,urllib2没有,这也是为什么总是urllib,urllib2常会一起使用的原因
r = Request(url='http://www.mysite.com')
r.add_header('User-Agent', 'awesome fetcher')
r.add_data(urllib.urlencode({'foo': 'bar'})
response = urllib2.urlopen(r) #post method
urllib 模块模块
I. urlencode不能直接处理unicode对象,所以如果是unicode,需要先编码,有unicode转到utf8,举例:
urllib.urlencode (u’bl’.encode(‘utf-8’))
II. 示例
import urllib #sohu 手机主页
url = 'http://m.sohu.com/?v=3&_once_=000025_v2tov3&_smuid=\
ICvXXapq5EfTpQTVq6Tpz'
resp = urllib.urlopen(url)
page = resp.read()
f = open('./urllib_index.html', 'w')
f.write(page)
print dir(resp)
结果:
[‘doc’, ‘init’, ‘iter’, ‘module’, ‘repr’, ‘close’, ‘code’, ‘fileno’, ‘fp’, ‘getcode’, ‘geturl’, ‘headers’, ‘info’, ‘next’, ‘read’,
‘readline’, ‘readlines’, ‘url’]
print resp.getcode(), resp.geturl(), resp.info(), resp.headers, resp.url
#resp.url和resp.geturl()结果一样
III. 编解码示例 urllib.quote和urllib.urlencode都是编码,但用法不一样
s = urllib.quote('This is python') #编码
print 'quote:\t'+s #空格用%20替代
s_un = urllib.unquote(s) #解码
print 'unquote: '+s_un
s_plus = urllib.quote_plus('This is python') #编码
print 'quote_plus: '+s_plus #空格用+替代
s_unplus = urllib.unquote_plus(s_plus) #解码
print 's_unplus: '+s_unplus
s_dict = {'name': 'dkf', 'pass': '1234'}
s_encode = urllib.urlencode(s_dict) #编码字典转换成url参数
print 's_encode: '+s_encode
资源评论
weixin_38743076
- 粉丝: 6
- 资源: 926
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功