flask項目結構(五)使用數據庫
阿新 • • 發佈:2018-04-01
建立 add uil ini dock png fig pub 兩個
簡介:
基礎搭建好了,開始讀寫數據庫吧。畢竟寫的程序,也沒什麽高深的,就是CRUD,中文說是增刪改查。
一:在數據庫中增加測試數據。
在項目根目錄建立init_test.py
from config import Base,db_session from models.models import * from app.app01.app01_models import * add_public=public( name=‘jack_public‘, email=‘[email protected]‘, ) add_private=private( name=‘jack_private‘, email=‘[email protected]‘, ) db_session.add(add_public) db_session.add(add_private) db_session.commit() db_session.remove() public_user=public.query.filter_by(public_name=‘jack_public‘).first() print(public_user.public_email) private_user=private.query.filter_by(private_name=‘jack_private‘).first() print(private_user.private_email)
執行結果為:
[email protected]
[email protected]
讀取兩個郵件地址。
二:在app/main中使用
修改/app/main/views.py
from flask import Blueprint from models.models import * # 新加,引入models from app.app01.app01_models import * # 新加,引入models main = Blueprint(‘main‘, __name__) @main.route(‘/‘) def show(): public_user = public.query.filter_by(public_name=‘jack_public‘).first() # 新增數據庫查詢 private_user = private.query.filter_by(private_name=‘jack_private‘).first() # 新增數據庫查詢 msg = public_user.public_email + ‘<p>‘ + private_user.private_email # 組織返回代碼 return msg # 修改返回內容為剛組織好的代碼
三:本機測試
我們只修改了默認首頁的返回。首頁返回數據如下
四:同步到服務器
syncthing同步
五:生成新docker鏡像
./rebuild.sh
六:測試服務器運行狀態
我的服務器及發布端口是8800
七:寫個測試腳本
上次就是部署之後老斷開數據庫連接。
那麽這次寫個腳本進行循環測試:
import requests r=requests.get(‘http://192.168.1.3:8800‘) print(r.status_code) import time t2 = time.strftime(‘%Y-%m-%d %H:%M:%S‘) print(t2) i = 1 while True: try: r=requests.get(‘http://192.168.1.3:8800/app02‘,timeout=2) if r.status_code !=200: print(time.strftime(‘%Y-%m-%d %H:%M:%S‘)+‘-----------bed‘) break else: print(time.strftime(‘%Y-%m-%d %H:%M:%S‘)+‘--ok‘) time.sleep(1) i+=1 except: print(time.strftime(‘%Y-%m-%d %H:%M:%S‘) + ‘-----------bed‘)
代碼寫的爛,也沒存記錄。
就是一直傻跑而已。
如果錯了,那就停了
十:遺漏
現在還差路由,靜態文件,權限幾部分。
flask項目結構(五)使用數據庫