180919总结这几天学到的内容

如何让python的json包序列化datetime

  1. 使用场景:通过pymysql获得的数据库中的datetime类型数据(在我们的开发中,一般是由models的DateTimeField创建的),会转换为python的datetime.datetime类型并存放在元组中。我们需要对这个元组序列化,并发送到前端。
  2. 遇到问题:json.dumps不能序列化datetime类型,这这主要是因为JSON本来就没有时间类型。关于JSON的数据类型说明请看
    []https://blog.csdn.net/u012843873/article/details/79699955
  3. 分析json.dumps的原理:分两步。首先它使用一个编码器JSONEncoder的default方法将数据的原始数据类型转换成python中可以直接jsonfy的数据类型。然后再使用底层方法转换成JSON字符串。
  4. 解决问题:json.dumps支持使用一个自定义编码,对原编码器JSONEncoder进行扩展。我们只需要重写default方法将datetime转成string类型即可。代码如下:
import datetime
import json

class CustomEncoder(json.JSONEncoder):
    """自定义编码器,对原编码器进行扩展"""
    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)

打印结果为:[1, "666", "2018-08-01 10:06:01"]
我们可以看到,时间被顺利序列化了。

如何解决模态框打开关闭时界面左右抖动的问题

模态框打开时会对body添加一个modal-open的类,使body的overflow设为hidden。这时如果界面本身有滚动条就会因为滚动条消失而整体向右滑动。在关闭模态框时,这个类会删除,body又恢复了原来的overflow属性,滚动条又会加上。这里介绍一个比较简单的解决问题的方法:对body的overflow设定一个优先级更高的overflow,使其的值不会因为增加class而改变。CSS选择器的优先级为:

  • 通用选择器(*) < 元素(类型)选择器 < 类选择器 < 属性选择器 < 伪类 < ID 选择器 < 内联样式
    以下按顺序对这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" />

显然,我们可以通过内联样式的方法一步到位。在JS开头加入如下代码即可解决问题。

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

一种新的遍历数组的方法:

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种是新学的,比第2种简洁。在遍历数组的所有值时,我将更多地使用第1种方法。但是第1种会改变$(this)的值。如果有在方法开头就使用变量引入$(this)的习惯,可以不用考虑这个问题。

如何让内部文字不可超出,如果超出则显示省略号

<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项属性必须同时使用,一个也不能少

让模态框上下居中的方法

// 使模态框处在屏幕的中偏上一点点的地方
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加一个高度样式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容

  • 请选择想要学习的编程语言: 全选 全不选 反选 JavaScr...
    十块腹肌的小胡子阅读 213评论 0 0
  • 2018-09-12BS架构请求数据流程 BS架构请求数据流程 1.浏览器通过form表单提交请求2.通过http...
    AdonisMe阅读 126评论 0 0
  • 水怎么读——语文枫林23 教材无处不在, 生活处处语文。 只要学法在手, 学习语文不愁。 (怎么读)一、从对象及特...
    语文枫林阅读 1,670评论 0 1
  • 你是否会这样:睡了很久还是觉得没睡够?感觉很累然后去睡觉,却睡来睡去都还是提不起精神?这可能是因为,你没有找到适合...
    BIKY阅读 1,401评论 0 3
  • 走出校门的就是大人? 留在学校的就是孩子? 人的成长就是一瞬间的事情?
    easy简爱阅读 242评论 0 0