菜鸟网络工程师的成长笔记——第19天(2016.09.05)
不知道要有多久的浸润,才能算是精通web全栈开发
30.前端的日期选择插件
问题类型:前端
解决状态:已解决
问题描述
日期选择是web上常用的功能,点击一下弹出选择框选择日期。
问题解决
如此常用的功能早已有人实现,可以使用bootstrap-datepicker。
文档:http://bootstrap-datepicker.readthedocs.io/en/latest/options.html#format
沙盒:http://eternicode.github.io/bootstrap-datepicker
沙盒真的是非常方便,想要什么效果,在沙盒里测试一下就好了。
31.django中对DateTimeField进行查询过滤
问题类型:后端,Django,mysql
解决状态:尚有疑问
问题描述
Django中DateTimeFiled用来表示日期,如果想过滤一段时间的数据,比如某个月的数据,如何做。
问题解决
在StackOverFlow上有人说可以这样:
class Sample(models.Model):
date = fields.DateField(auto_now=False)
Sample.objects.filter(date__range=["2011-01-01", "2011-01-31"])
如果要过滤月份的话:
Sample.objects.filter(date__year='2011',
date__month='01')
但是在我的工程测试时过滤年是没问题的,过滤月份却一个也过滤不出来。网上有说是时区问题,如果在Django中设置了USE_TZ为True,则需要对mysql设置时区,至于mysql的时区,我还没弄明白,于是使用了另一个过滤方式,比如8月的数据,就过滤8月1号到9月1号之间的数据:
Sample.objests.filter(time_apply__gte=datetime.date(2016, 8,
1)).filter(time_apply__lte=datetime.date(2016,9,1))
32.Python中获取一个月有多少天
问题类型:Python
解决状态:已解决
问题描述
每个月天数是不一样的,给定一个月份,如何获取天数。
问题解决
>>> import calendar
>>> calendar.monthrange(2016, 2)
(0, 29)
这样,想要获取天数可以:
>>> calendar.monthrange(2016, 2)[1]
33.对Django的Models的查询结果排序
问题类型:后端,Django
解决状态:已解决
问题描述
以一个字段对Django models的查询结果排序
问题解决
Djaong的查询集有order_by(“id”)这样的方法,如果想要反向排序,在前面加负号,比如:order_by(“-id”)
34.javascript获取当前日期
问题类型:前端, javascript
解决状态:已解决
问题描述
javascript获取当前时间。
问题解决
使用Date类
var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
35.Django回应ajax数据
问题类型:后端,Django
解决状态:已解决
问题描述
来自前端的ajax请求需要Django回应json数据。
问题解决
可以使用插件解决。下面链接中有提到几个好用的ajax插件
https://code.djangoproject.com/wiki/AJAX
这里我使用了https://github.com/yceruto/django-ajax
安装:
pip install djangoajax
使用:
@ajax
def my_view(request):
c = 2 + 3
return {'result': c}
返回的是json对象,其结构为:
{"content":{"result":5},"status":200,"statusText":"OK"}
前端部分:
$.get(url, function(data, status){
alert(data.status)
alert(JSON.stringify(data));
});
这里注意,前端javascript使用json对象时,可以直接用键取值,但是如果想把json字符串打印出来,需要进行序列化:
alert(JSON.stringify(data));