180919總結(jié)這幾天學(xué)到的內(nèi)容

如何讓python的json包序列化datetime

  1. 使用場景:通過pymysql獲得的數(shù)據(jù)庫中的datetime類型數(shù)據(jù)(在我們的開發(fā)中,一般是由models的DateTimeField創(chuàng)建的)赡模,會轉(zhuǎn)換為python的datetime.datetime類型并存放在元組中花嘶。我們需要對這個元組序列化粱哼,并發(fā)送到前端。
  2. 遇到問題:json.dumps不能序列化datetime類型,這這主要是因?yàn)镴SON本來就沒有時間類型棠众。關(guān)于JSON的數(shù)據(jù)類型說明請看
    []https://blog.csdn.net/u012843873/article/details/79699955
  3. 分析json.dumps的原理:分兩步撰豺。首先它使用一個編碼器JSONEncoder的default方法將數(shù)據(jù)的原始數(shù)據(jù)類型轉(zhuǎn)換成python中可以直接jsonfy的數(shù)據(jù)類型粪般。然后再使用底層方法轉(zhuǎn)換成JSON字符串。
  4. 解決問題:json.dumps支持使用一個自定義編碼污桦,對原編碼器JSONEncoder進(jìn)行擴(kuò)展亩歹。我們只需要重寫default方法將datetime轉(zhuǎn)成string類型即可。代碼如下:
import datetime
import json

class CustomEncoder(json.JSONEncoder):
    """自定義編碼器凡橱,對原編碼器進(jìn)行擴(kuò)展"""
    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 super().default(self, obj)

dt1 = datetime.datetime(2018, 8, 1, 10, 6, 1)
tup1 = (1, '666', dt1)
tup1_json = json.dumps(tup1, cls=CustomEncoder)
print(tup1_json)

打印結(jié)果為:[1, "666", "2018-08-01 10:06:01"]
我們可以看到小作,時間被順利序列化了。

如何解決模態(tài)框打開關(guān)閉時界面左右抖動的問題

模態(tài)框打開時會對body添加一個modal-open的類稼钩,使body的overflow設(shè)為hidden顾稀。這時如果界面本身有滾動條就會因?yàn)闈L動條消失而整體向右滑動。在關(guān)閉模態(tài)框時坝撑,這個類會刪除静秆,body又恢復(fù)了原來的overflow屬性粮揉,滾動條又會加上。這里介紹一個比較簡單的解決問題的方法:對body的overflow設(shè)定一個優(yōu)先級更高的overflow抚笔,使其的值不會因?yàn)樵黾觕lass而改變扶认。CSS選擇器的優(yōu)先級為:

  • 通用選擇器(*) < 元素(類型)選擇器 < 類選擇器 < 屬性選擇器 < 偽類 < ID 選擇器 < 內(nèi)聯(lián)樣式
    以下按順序?qū)@7樣舉例:
*{width:100px}
img{width:450px}
.img{width:400px;}
img[alt="img"] {width:300px}
img:hover{width:350px}
#img{width:250px;}
<img src="images/icon.png" class="img" id="img" alt="img" style="width:50px" />

顯然,我們可以通過內(nèi)聯(lián)樣式的方法一步到位塔沃。在JS開頭加入如下代碼即可解決問題蝠引。

$('body').css({
    'overflow': 'auto'
});

一種新的遍歷數(shù)組的方法:

var to = '';
// 這是第1種方法
$(to_list).each(function (index, value) {
    to += value + ','
});

// 這是第2種方法
for (var i=0; i<to_list.length; i++) {
    to += to_list[i] + ','
}

to = to.substr(0, to.length-1);

其中第1種是新學(xué)的,比第2種簡潔蛀柴。在遍歷數(shù)組的所有值時螃概,我將更多地使用第1種方法。但是第1種會改變$(this)的值鸽疾。如果有在方法開頭就使用變量引入$(this)的習(xí)慣吊洼,可以不用考慮這個問題。

如何讓內(nèi)部文字不可超出制肮,如果超出則顯示省略號

<button class="btn" style="width: 80%; 
overflow: hidden; max-width: 80%; text-overflow: ellipsis; border-right: 1px solid #AAAAAA">

其中:

  • overflow: hidden表明超出部分不顯示
  • max-width限定元素的最大寬度冒窍,確保不會被文字撐開
  • text-overflow: ellipsis表示超出的文字顯示省略號
  • 3項(xiàng)屬性必須同時使用,一個也不能少

讓模態(tài)框上下居中的方法

// 使模態(tài)框處在屏幕的中偏上一點(diǎn)點(diǎn)的地方
var window_height = $('#delete_modal').height();
var modal_height = $('#delete_modal .modal-dialog').height();
// 180918LLR豺鼻,先取到整百再-100再除以2综液,為的是能更多地向上偏。太裝B了儒飒!
var margin_top = (parseInt(window_height / 100) * 100 - modal_height - 100) / 2;
$('#delete_modal .modal-dialog').css('margin-top', margin_top+'px');

注意:window_height可以自動獲得谬莹,但是modal_height始終是0,必須由用戶觀察后自己對dialog加一個高度樣式桩了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末附帽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子井誉,更是在濱河造成了極大的恐慌蕉扮,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颗圣,死亡現(xiàn)場離奇詭異喳钟,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)在岂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門荚藻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人洁段,你說我怎么就攤上這事」补” “怎么了祠丝?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵疾呻,是天一觀的道長。 經(jīng)常有香客問我写半,道長岸蜗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任叠蝇,我火速辦了婚禮璃岳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悔捶。我一直安慰自己铃慷,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布蜕该。 她就那樣靜靜地躺著犁柜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪堂淡。 梳的紋絲不亂的頭發(fā)上馋缅,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機(jī)與錄音绢淀,去河邊找鬼萤悴。 笑死,一個胖子當(dāng)著我的面吹牛皆的,可吹牛的內(nèi)容都是我干的覆履。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼祭务,長吁一口氣:“原來是場噩夢啊……” “哼内狗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起义锥,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤柳沙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拌倍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赂鲤,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年柱恤,在試婚紗的時候發(fā)現(xiàn)自己被綠了数初。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡梗顺,死狀恐怖泡孩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情寺谤,我是刑警寧澤仑鸥,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布吮播,位于F島的核電站,受9級特大地震影響眼俊,放射性物質(zhì)發(fā)生泄漏意狠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一疮胖、第九天 我趴在偏房一處隱蔽的房頂上張望环戈。 院中可真熱鬧,春花似錦澎灸、人聲如沸院塞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽迫悠。三九已至,卻和暖如春巩梢,著一層夾襖步出監(jiān)牢的瞬間创泄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工括蝠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鞠抑,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓忌警,卻偏偏與公主長得像搁拙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子法绵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 請選擇想要學(xué)習(xí)的編程語言: 全選 全不選 反選 JavaScr...
    十塊腹肌的小胡子閱讀 213評論 0 0
  • 2018-09-12BS架構(gòu)請求數(shù)據(jù)流程 BS架構(gòu)請求數(shù)據(jù)流程 1.瀏覽器通過form表單提交請求2.通過http...
    AdonisMe閱讀 126評論 0 0
  • 水怎么讀——語文楓林23 教材無處不在箕速, 生活處處語文。 只要學(xué)法在手朋譬, 學(xué)習(xí)語文不愁盐茎。 (怎么讀)一、從對象及特...
    語文楓林閱讀 1,670評論 0 1
  • 你是否會這樣:睡了很久還是覺得沒睡夠?感覺很累然后去睡覺狡赐,卻睡來睡去都還是提不起精神窑业?這可能是因?yàn)椋銢]有找到適合...
    BIKY閱讀 1,401評論 0 3
  • 走出校門的就是大人枕屉? 留在學(xué)校的就是孩子常柄? 人的成長就是一瞬間的事情?
    easy簡愛閱讀 242評論 0 0