关于DJANGO和JAVASCRIPT的时间
最近,实际一些简单统计时,要到库里去检索数据出来用HIGHCHARTS画图,
作一个简单的回照。。
DJANGO用TEMPLATEVIEW来作。专业,正规:)
class SAView(TemplateView): template_name = 'version/sa_site.html' paginate_by = 10 def get_context_data(self, **kwargs): context = super(SAView, self).get_context_data(**kwargs) site_dict = {} appcount = A.objects.annotate(num_app=Count('dv')) for app in appcount: if self.request.GET.has_key('date_start') and self.request.GET.has_key('date_end') : date_start = self.request.GET['date_start'] date_end = self.request.GET['date_end'] context['days'] = date_start+'至'+date_end app_qryset = app.deployversion_set.filter(add_date__range=(date_start, date_end)) else: context['days'] = '所有时间' app_qryset = app.deployversion_set.all() if app.site_set.all() and app_qryset.count(): site_key = str(app.site_set.all()[0].name) if site_dict.has_key(site_key): site_dict[site_key] += app_qryset.count() else: site_dict[site_key] = app_qryset.count() categories = site_dict.keys() data = site_dict.values() context['now'] = timezone.now() context['current_page'] = "list-sa-site" context['form'] = SASiteForm context['categories'] = categories context['data'] = data return context
前端JAVASCRIPT的小东东,找伟哥作了那个最近一周和一月的东东,很好:)感谢:
Date.prototype.Format = function(fmt) { var o = { "M+" : this.getMonth()+1, "d+" : this.getDate(), "h+" : this.getHours(), "m+" : this.getMinutes(), "s+" : this.getSeconds(), "q+" : Math.floor((this.getMonth()+3)/3), "S" : this.getMilliseconds() }; if(/(y+)/.test(fmt)){ fmt = fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } for(var k in o){ if(new RegExp("("+ k +")").test(fmt)){ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); } } return fmt; } $(".search_btn").click(function(){ var date_start = $("input[name='date_start']").val() || "demo"; var date_end = $("input[name='date_end']").val() || "demo"; var date_today = new Date().Format("yyyy-MM-dd"); console.log(date_today); if (date_start > date_end) { alert('开始时间大于结束时间,请重新选择'); return; }; if ((date_start >= date_today) || (date_end >= date_today)) { alert('开始时间和结束时间不能超过当前时间'); return; }; console.log(date_start, date_end); var url = "/sa/site/?date_start=" + date_start + "&date_end=" + date_end console.log(url) location.href = url }); $(".search_btn_week").click(function(){ var current = new Date(); var utcDate = current.setDate(current.getDate()-7); var date_start = new Date(utcDate).Format("yyyy-MM-dd"); var date_end = new Date().Format("yyyy-MM-dd"); console.log(date_start, date_end); var url = "/sa/site/?date_start=" + date_start + "&date_end=" + date_end console.log(url) location.href = url }); $(".search_btn_month").click(function(){ var current = new Date(); var utcDate = current.setDate(current.getDate()-30); var date_start = new Date(utcDate).Format("yyyy-MM-dd"); var date_end = new Date().Format("yyyy-MM-dd"); console.log(date_start, date_end); var url = "/sa/site/?date_start=" + date_start + "&date_end=" + date_end console.log(url) location.href = url });
Form结合了UIKIT的时间PICKER样式:
class SASiteForm(forms.Form): date_start = forms.CharField( max_length=100, label=u"开始日期", widget=forms.TextInput( attrs={ 'class': 'uk-width-1-6', 'data-uk-datepicker': "{format:'YYYY-MM-DD'}", } ), ) date_end = forms.CharField( max_length=100, label=u"结束日期", widget=forms.TextInput( attrs={ 'class': 'uk-width-1-6', 'data-uk-datepicker': "{format:'YYYY-MM-DD'}", } ), )
AND THEN。。。
关于DJANGO和JAVASCRIPT的时间的更多相关文章
- Java和JavaScript的时间互传
原创文章,转载请注明:Java和JavaScript的时间互传 By Lucio.Yang 1.从JavaScript到Java JavaScript: function query(){ var s ...
- 【python】Django设置SESSION超时时间没有生效?
按手册和网上的方法在settings.py中设置“SESSION_COOKIE_AGE” 和 “SESSION_EXPIRE_AT_BROWSER_CLOSE” 均不生效. 通过查看django的源代 ...
- 详解JavaScript UTC时间转换方法
这篇文章主要介绍了JavaScript UTC时间转换方法,介绍了本地时间到UTC时间的转换.UTC日期到本地日期的转换,感兴趣的小伙伴们可以参考一下 一.前言 1.UTC: Universal Ti ...
- JavaScript 对时间日期格式化
JavaScript 对时间日期格式化 // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位 ...
- JavaScript日期时间格式化函数
这篇文章主要介绍了JavaScript日期时间格式化函数分享,需要的朋友可以参考下 这个函数经常用到,分享给大家. 函数代码: //格式化参数说明: //y:年,M:月,d:日,h:时,m分,s:秒, ...
- JavaScript 的时间消耗--摘抄
JavaScript 的时间消耗 2017-12-24 dwqs 前端那些事儿 随着我们的网站越来越依赖 JavaScript, 我们有时会(无意)用一些不易追踪的方式来传输一些(耗时的)东西. 在这 ...
- JavaScript实现时间上一天和下一天切换
JavaScript实现时间上一天和下一天切换 1.先获取时间戳毫秒数 var date = new Date()//实例化时间戳 var time = date.getTime()//获取当前毫秒数 ...
- django 获取系统当前时间 和linux 系统当前时间不一致 问题处理。
问题场景: 在django admin models 实体对象添加一个属性最后修改时间,用户在添加.修改是系统自动修改操作时间. UpdateTime自动获取系统时间.并且自动修改. 代码设置如下. ...
- javascript系统时间测试题
如果系统的时间是2016年2月20日,分析下列JavaScript代码,运行后在网页上显示() var now = new Date();var year = now.getFullYear();va ...
随机推荐
- Android系统中提供的原子操作
代码的实现位于文件system/core/include/cutils中 http://androidxref.com/4.4.3_r1.1/xref/system/core/include/cuti ...
- iOS - 数组与字典(NSArray & NSDictionary)
1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s ...
- windbg远程调试
1, A,调试机. B,被调试机. 2, 在B机上安装windbg,公共符号文件,程序的PDB都要复制过来. 公共符号文件位置设置在于A机相同的位置. windbg–server tcp:port=5 ...
- java web中cookie的永久创建与撤销
一.首先是创建cookie 当在数据库中查找知道所输入的用户名和密码正确之后,就开始创建: String cb=request.getParameter("cb");//cb就是登 ...
- ThreadPool 线程池的作用
相关概念: 线程池可以看做容纳线程的容器: 一个应用程序最多只能有一个线程池: ThreadPool静态类通过QueueUserWorkItem()方法将工作函数排入线程池: 每排入一个工作函数,就相 ...
- [java学习笔记]java语言核心----面向对象基础
1.面向对象概述 面向对象是java语言的核心.是对应于面向过程而言的. 面向过程:强调的是过程,即动作.在java中动作就是函数.C语言就是面向过程的. 如:把大象装进冰箱需要几步? 答:需要三步: ...
- Java中的队列:java.util.Queue接口
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作. Queue接口与List.Set同一级别,都是继承了Collection接口.Linked ...
- Geographic Coordinate Systems
Coordinate Systems Geographic Coordinate Systems This is an archive of a previous version of the Arc ...
- AjaxFileUpload Firefox 不工作异常 (zero-width space characters from a JavaScript string)
Firefox 返回的提示报错parse error (Chrome 和 IE正常) 打印出来返回的字符串,目测正常 将字符串放入notepad++, 转换字符集为ANSI 发现多出了欧元符号 通过j ...
- 設定 Bootstrap/SASS/Bower/gulp (Windows平台)
請注意:在進行以下步驟前,你會需要先安裝git,可以參考這篇 git安裝教學 前言 時至今日,幾乎每個人都在討論bootstrap.less 或 sass.我們知道它們是比較新的前端技術,而且有開始愈 ...