最近,实际一些简单统计时,要到库里去检索数据出来用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的时间的更多相关文章

  1. Java和JavaScript的时间互传

    原创文章,转载请注明:Java和JavaScript的时间互传 By Lucio.Yang 1.从JavaScript到Java JavaScript: function query(){ var s ...

  2. 【python】Django设置SESSION超时时间没有生效?

    按手册和网上的方法在settings.py中设置“SESSION_COOKIE_AGE” 和 “SESSION_EXPIRE_AT_BROWSER_CLOSE” 均不生效. 通过查看django的源代 ...

  3. 详解JavaScript UTC时间转换方法

    这篇文章主要介绍了JavaScript UTC时间转换方法,介绍了本地时间到UTC时间的转换.UTC日期到本地日期的转换,感兴趣的小伙伴们可以参考一下 一.前言 1.UTC: Universal Ti ...

  4. JavaScript 对时间日期格式化

    JavaScript 对时间日期格式化 // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位 ...

  5. JavaScript日期时间格式化函数

    这篇文章主要介绍了JavaScript日期时间格式化函数分享,需要的朋友可以参考下 这个函数经常用到,分享给大家. 函数代码: //格式化参数说明: //y:年,M:月,d:日,h:时,m分,s:秒, ...

  6. JavaScript 的时间消耗--摘抄

    JavaScript 的时间消耗 2017-12-24 dwqs 前端那些事儿 随着我们的网站越来越依赖 JavaScript, 我们有时会(无意)用一些不易追踪的方式来传输一些(耗时的)东西. 在这 ...

  7. JavaScript实现时间上一天和下一天切换

    JavaScript实现时间上一天和下一天切换 1.先获取时间戳毫秒数 var date = new Date()//实例化时间戳 var time = date.getTime()//获取当前毫秒数 ...

  8. django 获取系统当前时间 和linux 系统当前时间不一致 问题处理。

    问题场景: 在django admin models 实体对象添加一个属性最后修改时间,用户在添加.修改是系统自动修改操作时间. UpdateTime自动获取系统时间.并且自动修改. 代码设置如下. ...

  9. javascript系统时间测试题

    如果系统的时间是2016年2月20日,分析下列JavaScript代码,运行后在网页上显示() var now = new Date();var year = now.getFullYear();va ...

随机推荐

  1. ALTER---删除字段

    ALTER TABLE table_name DROP (column1,column2,...); 例: ALTER TABLE userinfo DROP (name,num); 说明: 1.or ...

  2. 设置In_Memery

    alter system set inmemory_size=4G scope=spfile; alter table table_name inmemory; alter table table_n ...

  3. asp.net 文件操作小例子(创建文件夹,读,写,删)

      静态生成要在虚拟目录下创建文件夹 来保存生成的页面 那么就要对文件进行操作 一.创建文件夹 using System.IO; string name = "aa"; strin ...

  4. 使用PSD设计网页页面

    一.一个独立的页面 1.分析这个页面,在脑海或草稿上要确立页面板块布局(如版块区域的,位置和大小)2.根据设计稿的的情况,分析背景图的分布.ICO图的分布等 3.切割相应的图片,导出.合并图片(一般用 ...

  5. SOA 的基本概念及设计原则浅议

    SOA是英文词语"Service Oriented Architecture"的缩写,中文有多种翻译,如"面向服务的体系结构"."以服务为中心的体系结 ...

  6. Article Master Data Deviation

    Site data – Logistics DC / Logistics Store Where is the reference site decided when you maintain the ...

  7. IIS6,IIS7 最简单的重写URL

    虽然现在很少用IIS6,今天突然要把项目搬到老的服务器上(IIS6),对项目还要重新部署一下. 主要把时间花在了对url的重写上.其实很简单,如下: IIS6 网站 → 属性 → 主目录 → 配置 → ...

  8. 在ThinkPHP3.x框架中实现将原创文章第一时间推送到百度收录

    前两天自己写的一篇文章“针对BootStrap中tabs控件的美化和完善”被别的网站给转载了,这也许是值得高兴的一件事情,但是有些网站并没有注明来源和作者.而去百度搜索这篇文章,排名第一的居然是那些转 ...

  9. jquery + json 操作

    jquery 读取集合对象多是要与json进行解析操作的,以下自己经过多方资料查找,终于有一套自己的方式组合.  1.首先创建web services或一般处理程序,用于显示获取Datatable对象 ...

  10. WinForms 实现气泡提示窗口

    [实例说明] 气泡提示因为他的美观又好被大多数用户所接收,用户所喜爱的就是程序员要实现的. 本实例实现了任务栏气泡提示,运行本实例,效果图如下所示: 单击提示.气泡提示就会显示,单击“关闭”气泡又会消 ...