python
danny_amos
其实我是个全栈
展开
-
使用BeautifulSoup实现简单豆瓣爬虫
最近想做一个图书排行榜的一个web项目,基础框架也搭建完毕。但是在实现View的时候,发现了一个问题——坑爹啊 小哥我没数据啊 !!! 不过哥我也很机智,瞬间就有了两个方案: 1.搭好管理后台,然后自己手动录入数据。因为是想做一个图书排行,所以数据量不会太大,感觉还能接受(-_-P 后来看了下爬完之后的数据, 才发现哥太天真了!!!) 2.写个爬虫,偷个懒(切 , 懒惰的程序员才是优秀原创 2015-07-24 16:44:40 · 1891 阅读 · 0 评论 -
bug: wtforms-tornado遇上tornado self.request.body
前几天做项目的时,由于form数据是通过ajax过去的,发现了一个很蛋疼的问题。post数据{ 'test': 'test'}handler代码片段form = TestForm(json.loads(self.request.body))打印form.data的时候哥华丽丽傻眼了{ 'test': 't'}后来看了下wtforms的源码找到了问题, 原来wtforms构造数据的原创 2015-12-12 20:20:49 · 1960 阅读 · 0 评论 -
tornado学习笔记:wtforms-tornado简单介绍
由于项目需要使用tornado做开发,文鱼这几天认真看了下tornado的文档和之前项目现在的代码,但我看到之前项目里对post的验证逻辑,文鱼表示蛋很疼也表示理解。众所周知,tornado和django的理念完全不同:一个精悍,一个大而全。不想django中有forms这个表单类,所以验证需要自己去写示例一下原项目代码:def validate(self, data): if type(d原创 2015-11-29 23:12:23 · 2833 阅读 · 0 评论 -
最简单 扩展django user
1.添加models,将User作为UserProfile中的外键from django.contrib.auth.models import Userclass UserProfile(models.Model): nick_name = models.CharField(max_length = 20) hobby = models.CharField(max_length =原创 2015-07-29 17:34:53 · 468 阅读 · 0 评论 -
深入flask之异步非堵塞实现
官方其实已经给出了方案,只不过藏的有点深,在加上网上有很多不太靠谱的帖子误导了我(当然不排除我没理解的原因哈)。所以为了让有些朋友的少走点弯路,也为给自己做个备忘。完整代码:https://github.com/wskssau/my_notespace的 python/todo_app解决方案: flask+gevent安装geventpip install gevent修改代码# 文件头部fro原创 2016-03-11 22:45:59 · 20522 阅读 · 16 评论 -
tornado websocket编程 (2): 简单购物车改进
tornado websocket编程 : 简单购物车改进上面例子显然有个问题:无法知道是哪些用户下了订单/取消订单。现在我们对其相关的修改 ——记录用户,使其更加像一个真实的购物车应用。可选的解决方案: 1. 客户端连接服务端时发送一个session,WebSocket类中添加一个成员变量记录客户端 session 2. 服务端WebSocket中on_open方法中调用reques原创 2016-08-26 22:09:56 · 1304 阅读 · 0 评论 -
tornado websocket编程(1) 初识websocket ——简单购物车实现
tornado websocket编程 : 初识websocket ——简单购物车实 完整代码:https://github.com/wskssau/my_notespace/tree/master/python/tornado_exercise WebSocket相关资料,第一次听过websocket的童鞋可以阅读下 1. wiki: https://zh.wikipedia.or原创 2016-08-24 01:37:49 · 3456 阅读 · 0 评论