持续更新中......
真正的稳定,是自己不断成长,不断寻找新的空间。与其要稳定,不如开始拥抱这个变化的时代,让自己准备好。
一、django链接mysql数据库
解释和理解:
1.connect函数返回连接对象,这个对象表示目前和数据库的会话。
2.连接对象方法:
(1).commit方法总是可用的,但如果数据库不支持事务,它就没有任何作用。如果关闭了连接但还有未提交的事务,它们会隐式地回滚---但是只有在数据库支持持回滚的时候才可以。
(2).rollback方法可能不可用,因为不是所有的数据库都支持事务(事务是一系列动作)。如果可用,那么就可以“撤销”所有未提交的事务。
(3).cursor方法将我们引入另外一个主题:游标对象。通过游标扫行SQL查询并检查结果。游标连接支持更多的方法,而且可能在程序中更好用。
3.游标:
(1).游标是一段私有的SQL工作区,也就是一段内存区域,用于暂时存放受SQL语句影响到的数据。通俗理解就是将受影响的数据暂时放到了一个内存区域的虚表中,而这个虚表就是游标。
(2).数据库中的事物可以回滚,而游标在其中起着非常重要的作用,由于对数据库的操作我们会暂时放在游标中,只要不提交,我们就可以根据游标中内容进行回滚,在一定意义有利于数据库的安全。
4.游标对象方法:
(1).fetchone() 返回第一条数据。
(2).fetchall() 返回结果集中的全部数据,结果为一个tuple的列表。每个tuple元素是按建表的字段顺序排列。
5.django数据库中的时间格式与页面渲染出来的时间格式不一致的处理:
6.django处理带有html符号的文案信息展示在页面是,需要增加一个屏蔽安全的备注,具体实例如下:
{{ novel.description|safe}} 处理html格式在页面正常显示效果
7.request.POST处理返回的数据是多个值
使用django处理post数据时,最多的就是使用request.POST['key']获取参数的值,在遇到问题之前我从没想过看request中具体的数据是什么。
(1).request数据,实则是一个类dict数据
(2).获取type-request和name-percase参数的值,这个querydict的处方法与python中处理dict略有差别,举例如下:
request.POST['type-request']=u'post'
request.POST.getlist('name-percase')=[u'phone', u'type']
从上面的例子中我们能看出来,对于QueryDict的处理中,传统的获取字典键的值,实际返回的是该列表的最后一个值,而如果要获取整个列表的数据,则需要使用.getlist('key')方法。参考:http://www.imooc.com/wiki/detail/id/3203