持續(xù)更新中......
真正的穩(wěn)定撑蚌,是自己不斷成長,不斷尋找新的空間搏屑。與其要穩(wěn)定争涌,不如開始擁抱這個變化的時代,讓自己準備好辣恋。
一亮垫、django鏈接mysql數(shù)據(jù)庫
解釋和理解:
1.connect函數(shù)返回連接對象,這個對象表示目前和數(shù)據(jù)庫的會話伟骨。
2.連接對象方法:
(1).commit方法總是可用的饮潦,但如果數(shù)據(jù)庫不支持事務(wù),它就沒有任何作用携狭。如果關(guān)閉了連接但還有未提交的事務(wù)继蜡,它們會隱式地回滾---但是只有在數(shù)據(jù)庫支持持回滾的時候才可以。
(2).rollback方法可能不可用逛腿,因為不是所有的數(shù)據(jù)庫都支持事務(wù)(事務(wù)是一系列動作)稀并。如果可用,那么就可以“撤銷”所有未提交的事務(wù)单默。
(3).cursor方法將我們引入另外一個主題:游標(biāo)對象碘举。通過游標(biāo)掃行SQL查詢并檢查結(jié)果。游標(biāo)連接支持更多的方法搁廓,而且可能在程序中更好用引颈。
3.游標(biāo):
(1).游標(biāo)是一段私有的SQL工作區(qū),也就是一段內(nèi)存區(qū)域,用于暫時存放受SQL語句影響到的數(shù)據(jù)。通俗理解就是將受影響的數(shù)據(jù)暫時放到了一個內(nèi)存區(qū)域的虛表中境蜕,而這個虛表就是游標(biāo)蝙场。
(2).數(shù)據(jù)庫中的事物可以回滾,而游標(biāo)在其中起著非常重要的作用粱年,由于對數(shù)據(jù)庫的操作我們會暫時放在游標(biāo)中售滤,只要不提交,我們就可以根據(jù)游標(biāo)中內(nèi)容進行回滾逼泣,在一定意義有利于數(shù)據(jù)庫的安全趴泌。
4.游標(biāo)對象方法:
(1).fetchone() 返回第一條數(shù)據(jù)。
(2).fetchall()?返回結(jié)果集中的全部數(shù)據(jù)拉庶,結(jié)果為一個tuple的列表嗜憔。每個tuple元素是按建表的字段順序排列。
5.django數(shù)據(jù)庫中的時間格式與頁面渲染出來的時間格式不一致的處理:
6.django處理帶有html符號的文案信息展示在頁面是氏仗,需要增加一個屏蔽安全的備注吉捶,具體實例如下:
{{ novel.description|safe}} ?處理html格式在頁面正常顯示效果
7.request.POST處理返回的數(shù)據(jù)是多個值
使用django處理post數(shù)據(jù)時,最多的就是使用request.POST['key']獲取參數(shù)的值皆尔,在遇到問題之前我從沒想過看request中具體的數(shù)據(jù)是什么呐舔。
(1).request數(shù)據(jù),實則是一個類dict數(shù)據(jù)
(2).獲取type-request和name-percase參數(shù)的值慷蠕,這個querydict的處方法與python中處理dict略有差別珊拼,舉例如下:
request.POST['type-request']=u'post'
request.POST.getlist('name-percase')=[u'phone', u'type']
從上面的例子中我們能看出來,對于QueryDict的處理中流炕,傳統(tǒng)的獲取字典鍵的值澎现,實際返回的是該列表的最后一個值,而如果要獲取整個列表的數(shù)據(jù)每辟,則需要使用.getlist('key')方法剑辫。參考:http://www.imooc.com/wiki/detail/id/3203