django 数据库 时间数据传输Bug修改以及体会 ——Einste的django结队编程<一>
来源:互联网 发布:网络课程录制软件 编辑:程序博客网 时间:2024/06/14 08:45
django数据库 时间数据传输Bug修改与体会--Einste的django结队编程<一>
本人虽然不是第一次使用django来做一些轻量级的数据库开发,但是之前的开发都是做一些简单的库,无论是django在传输数据上的快速性还是django开发的迅速性都没有得到切实的感受,这次开发过程中虽然拿到了很多现成的code,但是有很多django开发过程难以忽略的问题是我第一次遇到,所以在不断地尝试与不断地谷歌、百度当中总算在对这个框架的理解上又更进了一步,这里就分享一个本人在开发过程当中遇到的bug。
<pre style="background-color:#ffffff;color:#000000;font-family:'宋体';font-size:9.6pt;"><span style="color:#808080;font-style:italic;"></span><pre name="code" class="python">class ActivityDetail(APIView): #@login_required() def get(self): self.check_input('id') temp = Activity.objects.get(id = 'id') #temp = Activity.objects.get(id=1) ActivityDic = {} ActivityDic['name'] = temp.name ActivityDic['key'] = temp.key ActivityDic['description'] = temp.description ActivityDic['startTime'] = temp.start_time ActivityDic['endTime'] = temp.end_time ActivityDic['place'] = temp.place ActivityDic['bookStart'] = temp.book_start ActivityDic['bookEnd'] = temp.book_end ActivityDic['totalTickets'] = temp.total_tickets ActivityDic['picUrl'] = temp.pic_url ActivityDic['remainTickets'] = temp.remain_tickets ActivityDic['currentTime'] = datetime.datetime.now() ActivityDic['status'] = temp.status return ActivityDic
先解释一下上面的代码,这是一个用于显示某活动信息的一个class, 继承了外部的APIView,其作用并不会在这里的代码体现出来所以不做解释。
可以看到我define了一个get函数,这是用于获取到django构建的服务器当中存储的信息,在这里就是获取我们上传的活动详情,这个活动详情是存在models.py下的一个
表Activity里面,这里使用的一些基本函数我也不在此做解释了。
这个代码在运行的时候会在页面上返回一个错误
这就很奇怪了,这里报了一个关于id的错误但是我仔细查看了一下这里并没有发现id元素能导致的错误,我的同伴提醒我从编译器上查看bug,所以我就查看了一下
Pycharm上面报出的错误:
报错不变但是我看到了报错是在68行,所以我查看了一下68行,68行代码是
<pre style="background-color:#ffffff;color:#000000;font-family:'宋体';font-size:9.6pt;"><pre name="code" class="python"> ActivityDic['currentTime'] = datetime.datetime.now()
其实我用这个datetime的时候就很有疑问这个函数到底返回的是什么,我上网查了一下,才知道这个函数返回的数据格式是JSON并不支持的,而我们的DJango传输数据时
使用的恰是JSON,如果数据格式出现问题就会报出BUG,所以改成这样
ActivityDic['currentTime'] = datetime.datetime.now().timestamp()这个timestamp()函数是一个将datetime.now()返回的时间数值转化为时间戳的函数,JSON是支持时间戳的返回的,于是bug就解决了。
这是一个结队编程遇到的错误,当然这个bug的修改不能归功于我一个人,从我的角度来看,结队编程有助于修改bug,毕竟当局者迷,很多时候自己找一个下午或是
一个晚上都无法发现的错误,你的队友也许一眼就能看出来,无论是粗心还是队友在这里有所经验,这样的修改都可以大幅增加bug的修改效率,在讨论这个问题过程中
你也可以弄清楚这个问题背后的编程知识,但是我必须说,结队编程开发速度会降低很多,两个人一起写代码,就无法同时完成一个阶段的所有任务,如果这个阶段的
任务只是繁琐,那么结队编程只是让一个人帮助另一个人修改一些无聊的错误,对于两个人对整个框架整个开发的理解并没有任何帮助,所以结队开发需谨慎。
0 0
- django 数据库 时间数据传输Bug修改以及体会 ——Einste的django结队编程<一>
- Django数据库字段修改,以及查询
- 第一次学习django的体会
- django 1.9 同步数据库bug
- Django Bug
- python——django使用mysql数据库(一)
- django修改models重建数据库
- Django的Markdown解bug
- 物联网笔记-----------Django单元测试,Django bug(一)
- Django学习系列(一)——Django介绍
- Django 数据库的操作
- Django 的数据库查询
- Django 的数据库查询
- django 的数据库操作
- Django 的数据库查询
- django 的数据库操作
- 码出你的第一个Django app——Django官方教程(一)
- Django系列一:Django的安装
- 微信小程序
- android studio 中禁用一个插件功能
- linux命令下载JDK并安装
- Android权限处理,不同版本的兼容
- Android中屏幕适配的理解
- django 数据库 时间数据传输Bug修改以及体会 ——Einste的django结队编程<一>
- (第二天)做个社交?信息整合?功能型的公众号?
- C++ 到 Java 再到 C++
- 随笔之Android平台上的进程调度探讨
- Swift3.0语法变化
- PCI配置空间
- myeclipse 开发安卓项目 遇到Unsupported major.minor version 52.0解决办法
- umdh 查内存泄漏
- 第九周项目1-猴子选大王(数组版)