原创 Flask請求上下文源碼剖析流程1(Flask中如何保存請求相關數據)

以request爲例,因爲request最簡單。 一個完整的app應用程序如下: from flask import Flask app = Flask(__name__) @app.route("/") def hello():

原创 Flask請求上下文源碼剖析流程

1、談談你對flask上下文管理機制的理解? 首先說一下ThreadingLocal,對每個線程保存它的數據,但是flask爲了支持協程,自己封裝了一個Local對象,其中創建了一個字典,{greenlet加唯一標示:存數據},這樣可以保

原创 Flask之flask_migrate組件

from flask import Flask from flask_script import Manager from sansa import db from flask_migrate import Migrate,Mig

原创 SQLAlchemy之多對多relationship

#!/usr/bin/env python # -*- coding:utf-8 -*- import time import threading from sqlalchemy.ext.declarative import decl

原创 SQLAlchemy之常用操作

# 條件 ret = session.query(Users).filter_by(name='alex').all() ret = session.query(Users).filter(Users.id > 1, Users.nam

原创 Flask-SQLAlchemy項目實戰

項目目錄結構如下: Flask-SQLAlchemy     sansa              views                        account.py               __init__.py    

原创 Flask請求上下文源碼剖析流程3(Flask中如何處理請求)

1、通過查看源碼可以發現,request是一個全局變量,在程序啓動時就已經創建了           其中偏函數partial的使用如下:                         v = partial(add,1)      

原创 Flask應用上下文源碼剖析流程2(多app應用)

實際開發工作中不需要用,藍圖可實現同樣的功能,瞭解即可! 例子: from flask import Flask,current_app from werkzeug.wsgi import DispatcherMiddleware fr

原创 線程threading同步的幾種技術方式

1、lock import time import threading def addNum(): global num #在每個線程中都獲取這個全局變量 print('--get num:',num ) t

原创 pipreqs導出當前項目依賴庫

1、安裝 pip install pipreqs 2、導出依賴庫 在項目的當前路徑輸入: pipreqs ./ --encoding=utf-8 來導出當前項目依賴的庫 pip freeze > requestments.txt

原创 win10系統使用flask-sqlalchemy連接sqlserver2014報錯:未發現數據源名稱並且未指定默認驅動程序

錯誤信息: sqlalchemy.exc.InterfaceError: (pyodbc.InterfaceError) ('IM002', '[IM002] [Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定

原创 利用sqlacodegen自動生成ORM實體類

1、安裝 pip install sqlacodegen 2、使用sqlacodegen生成案列 sqlacodegen --tables test --outfile ./Found.py mssql+pyodbc://sa:Nucte

原创 多進程multiprocessing間通訊和數據共享

1、進程簡介 io密集型的儘量使用多線程,如socketserver. multiprocessing模塊可以使用一些簡單的API批量生生進程,可以實現本地和遠程進程間同步,通過使用子進程而不是線程來有效避開了全局解釋器鎖GIL,因此,該

原创 SQLAlchemy之基本增刪改查

# -*- coding:utf-8 -*- import time import threading from sqlalchemy.ext.declarative import declarative_base from sqla

原创 Flask離線測試時,with語法使用

class SQLHelper(object): def open(self): pass def close(self): pass def fetchall(self):