【0715朝读感悟】时间管理的升官

图片 1

前提:

贝加尔湖

未雨绸缪Python + Flask+Sqlite3的平台环境(windows系统)

《时间管理:如何充分利用你的24钟头》,吉姆·兰德尔。

前方一省介绍flask怎么设置了,剩下sqlite3下充斥后解压,然后环境变量添加解压路径就是行了

时光总是十分自由,从不等人口,一分一秒按照她的旋律固执地行走着。我们具备的时光财富,会就一私分一秒的熄灭而溜走。如何过好就一辈子,如何花好之年月,这将体现在生命的意义,你充分利用你的24时了啊?

外加下载地址:http://www.sqlite.org/2016/sqlite-tools-win32-x86-3150200.zip

001 升级时花的观

 

已经认为看电视剧是甚好之休闲道,喜欢东的爱情故事、抒情励志,殊不知它是time
killer,与和谐本领的成长、目标的兑现相距甚远。曾经当戏新闻、人间百状态都与自身有关,点击网页,到处逛,哈哈同等乐,也算是打自己,殊不知它分散了我宝贵的注意力,与自己的完美实现越走越远。没有着意练习的时空花是废的时间花。升级时花的见识,让好远离无效生产的时日花。理想与重要性之事情都是亟需克服短日的享乐,延迟满足感的兑现。

花色之目录结构

002 设定有四要素的目标

/www
|
|– /static
| |jquery-1.6.2.js
(可以是其他jquery-xx.js,在index.html里窜就实施了)
| |– echarts.js(还有echarts原dist目录下之公文(夹))
|
|– /templates
| |
| |– index.html
|
|– app.py
|
|– create_db.py

目标设定的季只元素是有血有肉、有日限制、很实际、很关键。感知自己之爱好,设定要实现的靶子。回想自己立即段时日之对象,比如“学英语”进一步说明为每日跟读“清晨朗读会”、每天51talk同等省课,目标虽然实际、很实际、很关键,却没有工夫限定,改化三独月内51talk底level升两级就符合了对象设定的季单要素。有矣时光节点的靶子会于你感知到时间的紧迫性,感知到时刻之消费,更实用地利用时间。

图片 2 图片 3 图片 4

003 朝着目标中履行

 

设定目标的意,实际相当给我们学路学校的来意,从学毕业以后,我们如果慢慢学会吃好设定目标,并监控协调实现它。有了靶的时间花会于您集中注意力,寻找废生产时间,将它们转化为可行养时。寻找自己精力旺盛的工夫,将她发挥到极致致。避免在细节上时的浪费,让祥和还集中,更平稳。有了目标的口,就是知难而进选择的丁,从心田的意思受到还愿意执行,乐此不疲的挑选自己喜爱的。当你沉浸在向目标全力的时里,任凭福流在胸荡漾时,这样的辰花将于您欢欢喜喜开心。

图片 5

您是不是感受及了命的相同分割一秒?不要等,现在尽管从头升级而的日子花理念,设定好心仪已久的靶子,一直往它大踏步地突飞猛进,你的性命将有所不同!

记下载:echarts,echarts包含:图片 6

 

 

# create_db.py
# 只运行一次!!!

import sqlite3

# 连接
conn = sqlite3.connect('mydb.db')
c = conn.cursor()

# 创建表
c.execute('''DROP TABLE IF EXISTS weather''')
c.execute('''CREATE TABLE weather (month text, evaporation text, precipitation text)''')

# 数据
# 格式:月份,蒸发量,降水量
purchases = [(1, 2, 2.6),
             (2, 4.9, 5.9),
             (3, 7, 9),
             (4, 23.2, 26.4),
             (5, 25.6, 28.7),
             (6, 76.7, 70.7),
             (7, 135.6, 175.6),
             (8, 162.2, 182.2),
             (9, 32.6, 48.7),
             (10, 20, 18.8),
             (11, 6.4, 6),
             (12, 3.3, 2.3)
            ]

# 插入数据
c.executemany('INSERT INTO weather VALUES (?,?,?)', purchases)

# 提交!!!
conn.commit()

# 查询方式一
for row in c.execute('SELECT * FROM weather'):
    print(row)


# 查询方式二
c.execute('SELECT * FROM weather')
print(c.fetchall())


# 查询方式二_2
res = c.execute('SELECT * FROM weather')
print(res.fetchall())


# 关闭
conn.close()

建数据库结果:

图片 7

 

图片 8

 

     // index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>ECharts Ajax</title>
    <script src="{{ url_for('static', filename='jquery-1.6.2.js') }}"></script>
</head>

<body>
    <!--Step:1 为ECharts准备一个具备大小(宽高)的Dom-->
    <div id="main" style="height:500px;border:1px solid #ccc;padding:10px;"></div>

    <!--Step:2 引入echarts.js-->
    <!--<script src="js/echarts.js"></script>-->
    <script src="{{ url_for('static', filename='echarts.js') }}"></script>

    <script type="text/javascript">
    // Step:3 为模块加载器配置echarts的路径,从当前页面链接到echarts.js,定义所需图表路径
    require.config({
        paths: {
            echarts: './static',
        }
    });

    // Step:4 动态加载echarts然后在回调函数中开始使用,注意保持按需加载结构定义图表路径
    require(
        [
            'echarts',
            'echarts/chart/bar', // 按需加载
            'echarts/chart/line',
        ],
        function (ec) {
            //--- 折柱 ---
            var myChart = ec.init(document.getElementById('main'));

            // 设置---------------------
            var option = {
                tooltip : {
                    trigger: 'axis'
                },
                legend: {
                    data:['蒸发量','降水量']
                },
                toolbox: {
                    show : true,
                    feature : {
                        mark : {show: true},
                        dataView : {show: true, readOnly: false},
                        magicType : {show: true, type: ['line', 'bar']},
                        restore : {show: true},
                        saveAsImage : {show: true}
                    }
                },
                calculable : true,
                xAxis : [
                    {
                        type : 'category',
                        data : []
                    }
                ],
                yAxis : [
                    {
                        type : 'value',
                        splitArea : {show : true}
                    }
                ],
                series : [
                    {
                        name:'蒸发量',
                        type:'bar',
                        data:[]
                    },
                    {
                        name:'降水量',
                        type:'line',
                        data:[]
                    }
                ]
            };

            $.ajax({
                cache: false,
                type: "POST",
                url: "/weather", //把表单数据发送到/weather
                data: null, // 发送的数据
                dataType : "json",  //返回数据形式为json
                async: false,
                error: function(request) {
                    alert("发送请求失败!");
                },
                success: function(result) {
                    //console.log(result);
                    for (i = 0, max = result.month.length; i < max; i++) { //注意:result.month.length
                        option.xAxis[0].data.push(result.month[i]);
                        option.series[0].data.push(parseFloat(result.evaporation[i])); 
                        option.series[1].data.push(parseFloat(result.precipitation[i])); 
                    };

                    // 为echarts对象加载数据-------------- 
                    myChart.setOption(option);
                }
            });
            // 为echarts对象加载数据-------------- 
            //myChart.setOption(option);
        }
    );
    </script>    
</body>
</html>

 

 

 

 

# app.py

import sqlite3
from flask import Flask, request, render_template, jsonify

app = Flask(__name__)


def get_db():
    db = sqlite3.connect('mydb.db')
    db.row_factory = sqlite3.Row
    return db


def query_db(query, args=(), one=False):
    db = get_db()
    cur = db.execute(query, args)
    db.commit()
    rv = cur.fetchall()
    db.close()
    return (rv[0] if rv else None) if one else rv


@app.route("/", methods=["GET"])
def index():
    return render_template("index.html")


@app.route("/weather", methods=["POST"])
def weather():
    if request.method == "POST":
        res = query_db("SELECT * FROM weather")

    return jsonify(month = [x[0] for x in res],
                   evaporation = [x[1] for x in res], 
                   precipitation = [x[2] for x in res])


if __name__ == "__main__":
  app.run(debug=True)

 

运行后:

 图片 9

 

 

打开:http://127.0.0.1:5000/

 

 图片 10

图片 11

 

图片 12

图片 13