python2.7+flask2.0+pymysql
系統服務端開發倉庫結構
│ ├── static/ # 靜態資源資料夾
│ ├── templates/ # 模板資料夾
│ ├── __init__.py
# 初始化檔案
│ ├── user_sign_up.py
# blueprint
│ ├── user_login.py
# blueprint
│ ├── models.py
# 資料庫關係模型
│ └── view.py
# 呼叫blueprint
├── config.py
# 配置檔案
├── createdb.py
# 建立資料庫
├── run.py
# 主程式檔案
├── requirements # 需求檔案
└── readme.md
在flask2.0中不再支援mysqldb,因此選用pymysql
安裝mysql資料庫驅動:
pip install mysql-python
安裝sqlalchemy:
pip install flask-sqlalchemy
在python中,最有名的orm框架是sqlalchemy,可以把關聯式資料庫的表結構對映到物件上。
config.py配置檔案:
sqlalchemy_database_uri = 'mysql+pymysql://root:12345678@localhost:3306/mydb'
# 'mysql+pymysql://使用者名稱:密碼@localhost:埠/資料庫名稱'
sqlalchemy_track_modifications = true
class
user
(db.model):
__tablename__ = 'users'
id = db.column
(db.integer, primary_key=true)
username = db.column
(db.string(64), unique=true, index=true)
role_id = db.column
(db.integer, db.foreignkey('roles.id'))
from flask import flask
from flask_sqlalchemy import sqlalchemy
createdb.py建立資料庫:
if __name__ == '__main__':
db.create_all()
資料庫建立成功。
在使用flask進行乙個專案編寫的時候,可能會有許多個模組,比如上面目錄的註冊、登入等模組,如果把所有的這些模組都放在乙個views.py檔案之中,那麼最後views.py檔案必然臃腫不堪,並且極難維護,因此flask中便有了blueprint的概念,可以分別定義模組的檢視、模板、檢視等等,我們可以使用blueprint進行不同模組的編寫,不同模組之間有著不同的靜態檔案、模板檔案、view檔案,十分方便**的維護和管理。
上面的blueprint將註冊與登入模組分開,當然你也可以另外建資料夾如下面這樣
│ ├── static/ # 靜態資源資料夾
│ ├── templates/ # 模板資料夾
│ ├── __init__.py
# 初始化檔案
│ ├── user
│ | ├── user_sign_up.py
# blueprint
│ | ├── user_login.py
# blueprint
│ ├── models.py
# 資料庫關係模型
│ └── view.py
# 呼叫blueprint
├── config.py
# 配置檔案
├── createdb.py
# 建立資料庫
├── run.py
# 主程式檔案
├── requirements # 需求檔案
└── readme.md
from flask import blueprint
user_login = blueprint('user_login', __name__)
from . import user_login
from user_login import user_login
from flask_cors import cors
Liferay開發實戰 1 入門
文件 入門文章網上很多,中文的較少,存在版本太舊的問題,也缺少一步一步的指導。推薦學習官網的最新文件 目前是6.2.ce ga6版,很快就將更新到7.0版 編寫第乙個liferay應用 首先確定開發的一些規範 1 包名規範是 公司網域名稱 外掛程式名 或功能 2 如果要包含國際化資源檔案的方式是 3...
《後端儲存實戰課》筆記
儲存系統特點 難用 慢 場景多導致雜 很多情況下,可供選擇的儲存方案不止一套,選擇的時候需要考慮實現複雜度 效能 系統可用性 資料可靠性 可擴充套件性等等非常多的條件,這些條件每乙個都不是絕對不可以犧牲的 以下內容以電商內容展開 插入訂單的冪等性問題 給訂單系統增加乙個 生成訂單號 的服務,這個服務...
STM32開發入門及實戰
本部落格的編寫目的 一 自我總結,記錄。二 分享,輸出,加深思考。三 不作細緻如書本般編排,儘管那樣的排版很好看,但是過於耗費時間,還有很多東西沒有必要說明,完全可以自己去解決,但還是盡量做好排版,便於閱讀。四 盡可能舉一反三,做到真正能夠處理實際問題。12 345stm32開發實戰 1 目錄一 概...