中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

發布時間:2020-08-10 15:27:10 來源:網絡 閱讀:360 作者:吳金瑞 欄目:數據庫

        


一. 前言 

         先說下主要的框架和主要的圖形庫的特點:(個人見解)  

         Django:python開發的一個重量級的web框架,集成了MVC和ORM等技術,設計之初是為了使開發復雜的、數據庫驅動的網站變得簡單,然而由于種種原因很少有企業用來開發大型網站,而是拿來做運維開發的很多。其注重組件的重用性和“可插拔性”。  

        Flask:python開發的一個輕量級的web框架,它使用簡單的核心,用 extension 增加其他功能,擴增的彈性很好,并且上手比較容易。  

Echars:百度開源的一個圖像庫,界面可以做的很炫,但是主要是基于JS的,Django、flask對其的支持并不是很好,尤其是后臺用python處理數據展現到前臺很復雜。  

        Highchars:一個用純JavaScript編寫的一個圖表庫,兼容性也比較好,可以跨平臺。但是其數據需要轉成json格式才可以展現,對于需要后臺通過python處理的數據來說也是一個不小的負擔。Django、Flask對其的支持也不是很好。  

        Pygal:一個 Python 開發的動態 SVG 圖表庫,功能可能沒有Echars或者Highchars強大,但是勝在它是一個python開發的庫,采用的是python的原生語法,使用起來很方便,不需要多么復雜的轉換。并且flask對其的支持很好,相對來說Django對pygal的支持就差點。  

        數據庫選擇了sqlite3,一個輕量級的關系型數據庫。因為數據都是經過統計后的數據,數據量小,并且不需要特別復雜的操作。  

        綜上所述,經過各種嘗試之后,確定了Flask+pygal+sqlite3的架構。

二.環境準備

        1.安裝Python  

                1). Python版本:  

                     3.4.3 :注意安裝過程中選擇把python添加到環境變量  

                2). 說明  

                        建議選擇高版本的Python,因為后面的兩個庫需要使用python自帶的pip工具安裝,否則直接下載庫的安 裝包的話容易安 裝失敗,主要是版本的                   對應問題和依賴庫的缺少問題。

        2.安裝Flask框架  

                在命令行模式下執行:  

                     pip install Flask

       3.安裝圖形庫  

                在命令行模式下執行:  

                      pip install pygal

       4.安裝ORM映射庫  

                在命令行模式下執行:  

                     pip install flask-sqlalchemy

       5.下載sqlite3數據庫  

               直接在官網下載:http://www.sqlite.org/download.html  

               選擇:sqlite-tools-win32-x86-3170000.zip  

               解壓后包含三個可執行文件

三 、平臺搭建過程

      1.創建數據庫  

            1)在命令行模式下,切換到sqlite3目錄下,執行下面命令:  

                sqlite3.exe dzj.db  

            2)之后進入sqlite3命令行模式:  

          create table appinfo(
                id integer key autoincrement,          
                year varchar(32),         
                month varchar(32),         
                cnt   varchar(32));

            3)字段說明(主鍵是必須設置的)  

                 Year 年份  

                 Month 月份  

                Cnt 許可證數量  

            4)插入數據  

                 flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺
 

      2.搭建平臺過程  

             1)創建項目文件目錄(dzj)  

             2)在項目文件目錄(dzj)下創建static文件夾和templates文件夾  

             3)把創建的dzj.db數據庫復制到當前目錄下(dzj目錄)  

            4)在項目文件目錄(dzj)下添加dzj.py 文件(注意要和項目同名),并添加以下代碼:

flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

from flask import Flask, render_templateimport pygalfrom dbconnect import dbfrom models import Appinfo
app = Flask(__name__)


@app.route('/')def APPLYTBLINFO():
    db.create_all() #在第一次調用時執行就可以
    appinfos = Appinfo.query.all()    ##選擇年份
    list_year = []    ##選擇月份
    list_month = []    ##月份對應的數字
    map_cnt = {}    for info in appinfos:        if info.year not in list_year:
            list_year.append(info.year)
            map_cnt[info.year] = [int(info.cnt)]        else:
            map_cnt[info.year].append(int(info.cnt))        if info.month not in list_month:
            list_month.append(info.month)
    line_chart = pygal.Line()
    line_chart.title = '信息'
    line_chart.x_labels = map(str, list_month)    for year in list_year :
        line_chart.add(str(year)+"年", map_cnt[year])    return render_template('index.html', chart=line_chart)    if __name__ == '__main__':
    app.run(debug=True)

flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

 

            5)在項目文件目錄(dzj)下添加dbconnect.py文件,代碼如下: 

flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyimport os
app = Flask(__name__)
dbpath = app.root_path.replace("\\", "/")#注意斜線的方向app.config['SQLALCHEMY_DATABASE_URI'] = r'sqlite:///'+dbpath+'/dzj.db'#app.config['SQLALCHEMY_DATABASE_URI'] = r'sqlite:///D:/Python/dzj/dzj.db'app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True#print(app.config['SQLALCHEMY_DATABASE_URI'])db = SQLAlchemy(app)

flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

 

           6)在項目文件目錄(dzj)下添加models.py 文件,代碼如下: 

flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

from dbconnect import db##許可證申請數量class Appinfo(db.Model):    __tablename__='appinfo' ##注意這句,網上有些實例上并沒有
    ##必須設置主鍵
    id = db.Column(db.Integer, primary_key=True)
    year = db.Column(db.String(20))
    month = db.Column(db.String(20))
    cnt = db.Column(db.String(20))    def __init__(self, year, month, cnt):
        self.year = year
        self.month = month
        self.cnt = cnt    def __str__(self):        return self.year+":"+self.month+":"+self.cnt    def __repr__(self):        return self.year+":"+self.month+":"+self.cnt    
    def save(self):
        db.session.add(self)
        db.session.commit()

flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

 

            7)在templates文件下添加index.html,代碼如下:

flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

<body ><div  id="container">
    <div id="header" >
        <h3 style="font-size: 30px;  position: absolute; margin-top: 10px;margin-left: 300px;
        text-align:center;">數據走勢圖分析</h3>
    </div>
    <div id="leftbar" >
        <h3 >數據圖總覽</h3><br/>
        <table>
            <tr>
                <td>
                   <a name="appinfo" href="appinfo.html" >數量分析圖</a><br>
                </td>
            </tr>         
        </table>
    </div>
    <div id="chart" >
       <embed type="p_w_picpath/svg+xml" src= {{ chart.render_data_uri()|safe }} />
    </div></div></body>

flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

 

             8)在命令行下切換到dzj所在目錄,執行:  

                   python dzj.py  

                 如下圖沒有報錯,即說明運行成功:  

               flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

             9)在瀏覽器輸入:http://127.0.0.1:5000/ 查看結果

                 flask框架+pygal+sqlit3搭建圖形化業務數據分析平臺

        

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

原阳县| 永胜县| 漳平市| 信阳市| 惠水县| 营口市| 年辖:市辖区| 伊吾县| 辽阳市| 玉屏| 班戈县| 莒南县| 伊吾县| 海城市| 大余县| 台东县| 绥中县| 东乌珠穆沁旗| 石城县| 巫溪县| 察雅县| 攀枝花市| 福贡县| 綦江县| 邵阳县| 五指山市| 思南县| 崇阳县| 延津县| 原阳县| 景东| 香河县| 六盘水市| 金阳县| 太白县| 富顺县| 岳阳县| 镇康县| 宿州市| 静安区| 黔江区|