1. 程式人生 > >1.6 flask應用: 代碼統計系統

1.6 flask應用: 代碼統計系統

代碼 pip 全部 結構 時間 str 函數 pan bsp

2019-1-6 15:57:18

今天的是做了一個代碼統計的demo

使用了數據庫的連接池

參考連接 https://www.cnblogs.com/wupeiqi/articles/8184686.html

我覺得 flask 的連接數據庫目前有點麻煩,都是用pymysql 原生的sql 語句,並不像Django的orm來的快

也許還沒學到後面

這個代碼統計系統其實就是上傳文件和解壓文件,然後讀取文件有多少行代碼,其實也用到了數據庫的增刪改查

整體思路不難,主要用到了數據庫連接池的一點,在flask 中以後連接數據庫都得使用連接池

這有源代碼點擊下載

現在越來越發現,其實flask和Django 就好比 微信和qq 一個給你所有你會需要的東西,一個給你原生東西,讓你自己找自己需要的東西

還有3 ,4 就學完flask 到時候總結一下flask 東西!天真冷!

還有10來天就全部結束啦!估計一兩個星期就好,余下時間整理所有博客,溫故一下!

越努力與幸運!

永遠不要高估自己!

s9day118 

內容回顧:
    1.flask功能:
        - 路由
        - 視圖
        - 藍圖
        ...
    2. 請求上下文管理(ctx):request,session 
        - 請求到來之後wsgi會觸發__call__方法,由__call__方法再次調用wsgi_app方法
        - 在wsgi_app方法中:
            
- 首先將 請求相關+空session 封裝到一個RequestContext對象中,即:ctx。 - 將ctx交給LocalStack對象,再由LocalStack將ctx添加到Local中,Local結構: __storage__ = { 1231:{stack:[ctx,] } } - 根據請求中的cookie中提取名稱為sessionid對應的值,對cookie進行加密+反序列化,再次賦值給ctx中的session
-> 視圖函數 - 把session中的數據再次寫入到cookie中。 - 將ctx刪除 - 結果返回給用戶瀏覽器 - 斷開socket連接 3. 什麽是偏函數?以及應用場景? 4. 面向對象中雙下線的個數方法: init str repr new,單例/rest framework序列化 call,flask源碼請求入口,django請求入口(WSGIHandler.__call__)。 getattr setattr delattr,flask Local對象 setitem getitem delitem, class Foo(object): def __getitem__(self, item): return 1 def __setitem__(self, key, value): pass def __delitem__(self, key): pass obj = Foo() obj[k1] obj[k1] = 123 del obj[k1] dict,api封裝返回數據時:BaseResponse mro, 繼承順序 slots,Local對象 5. 棧 class Stack(object): def push(self,item): pass def pop(self): pass class Queue(object): def push(self,item): pass def pop(self): pass 6. super/類.func(...) 7. 什麽是函數?什麽是方法? def func(): pass class Foo(object): def func(self): pass # 執行方式一 # obj = Foo() # obj.func() # 方法 # 執行方式二 # Foo.func(123) # 函數 from types import FunctionType,MethodType # obj = Foo() # print(isinstance(obj.func,FunctionType)) # False # print(isinstance(obj.func,MethodType)) # True print(isinstance(Foo.func,FunctionType)) # True print(isinstance(Foo.func,MethodType)) # False 8. threading.local 今日內容: - 代碼統計 - pymysql - 數據庫連接池: - DBUtils - 初步認識:SQLAlchemy 內容詳細: - 代碼統計 - 數據庫連接池: pip3 install DBUtils 註意: - 使用數據庫連接池 - 封裝SQLHelper 作業: 1. 功能完善 2. BootStrap 模板 3. 詳細頁面: http://127.0.0.1:5000/detail/1 -> 折線圖 4. 用戶列表: - 柱狀圖 - 表格 PS: select user_id,sum(line) from record group by user_id + 連表查詢到用戶姓名

1.6 flask應用: 代碼統計系統