博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TODO list小工具,给自己一个交代
阅读量:6291 次
发布时间:2019-06-22

本文共 1514 字,大约阅读时间需要 5 分钟。

近段时间以来,深刻的意识到了落实到行动上这句话的意义了。一直以来,看到某些好文章,突然后了好点子,就想着待会再看。然而碎片化的时间越来越碎,终究不能得偿所愿。

于是,做了一个简单的小工具,方便自己记录点滴小事,也希望能给自己一个督促。做一个行动派

我给它命名为**TODO list** ,意思就是待办事项清单。源码已经放到了github上。有兴趣的可以大致的看一下。https://github.com/guoruibiao/worktools/tree/master/todolist

基本上完成的效果有这么几个样子。完全是按照我自己的需求做的,所以可能不适合所有人的品味。

  • 工具首页

  • 工具详情页

  • 完成任务后

踩坑记录

本来是想着用Flask,顺便练习下RESTful。然后借助uwsgi和nginx完整地实现一下整个服务,结果uwsgi配置这块出了点问题,就直接用nginx代理http服务了。

遇到的坑有这么几个,这里也罗列下,如果刚好对你有所帮助,那我也是挺欣慰的了。

序列化问题

标准库json出现类似于XXX is not JSON serializable。 经过调试发现是pymysql获取结果集的时候,将timestamp类型的数据转成了datetime.datetime类型。因此出现上述错误。解决办法如下:

编码部分

class DateEncoder(json.JSONEncoder):    """    解决使用pymysql拿到的数据值中有datetime类型导致的错误    """    def default(self, obj):        if isinstance(obj, datetime.datetime):            return obj.strftime('%Y-%m-%d %H:%M:%S')        elif isinstance(obj, datetime.date):            return obj.strftime("%Y-%m-%d")        else:            return json.JSONEncoder.default(self, obj)复制代码

应用部分:

def query(self, sql="", single=True):        cursor = self.conn.cursor()        effected_rows = cursor.execute(sql)        fields = cursor.description        if single:            rs = cursor.fetchone()        else:            rs = cursor.fetchall()        cursor.close()        # 另类的XXX不能被默认的json库序列化的问题        rs = json.dumps(rs, cls=DateEncoder)        rs = json.loads(rs)        return (effected_rows, fields, rs)复制代码

如此,便可以搞定序列化问题了。

flask外网访问问题

默认的host是**localhost(或者127.0.0.1),这样在debug模式下,本地是可以访问的。但是如果想被外网访问到,host就需要改成0.0.0.0**。这样在服务器上的程序,通过ip+端口就可以顺利的访问到了。

转载地址:http://xqkta.baihongyu.com/

你可能感兴趣的文章
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>