一、祕鑰設置:
app.secret_key = '隨意設置'python
二、SQLALCHEMY配置:
# 鏈接數據庫
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:@127.0.0.1:3306/數據庫名'
# 動態追蹤修改設置,如未設置只會提示警告
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
# 查詢時會顯示原始SQL語句
app.config['SQLALCHEMY_ECHO'] = True
db = SQLAlchemy(app)mysql
二、數據庫遷移:
導包:
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager
配置:
# 支持黑窗口 輸入命令
manager = Manager(app)sql
# 將數據庫遷移的命令加入到黑窗口中 做用是用於更新數據庫的結構
migrate = Migrate(app, db)
manager.add_command('db', MigrateCommand)數據庫
執行遷移命令
:
1.python 文件 db init
2.python 文件 db migrate -m"版本名(註釋)"
3.python 文件 db upgrade 而後觀察表結構
注意: 只有第一次生成遷移文件夾時候,才須要執行第一條命令。flask
修改程序入口
if __name__ == '__main__':
# app.run(debug=True)
manager.run()
app
四、閃現消息:
from flask import Flask, flash工具
頁面彈窗:
{% for mes in get_flashed_messages() %}
<script>alert('{{ mes }}')</script>
{% endfor %}post
四、菜單欄:debug
(1)、 header內容
<style>
ul{
list-style: none;
}
ul li{
display: block;調試
margin-right: 20px;
float: left;
}
</style>
(2)、body內容
<body>
<div style="float: left; width: 100%">
<ul>
<li><a href="路由接口">分類1</a></li>
<li><a href="路由接口">分類2</a></li>
<li><a href="路由接口">分類3</a></li>
<li><a href="路由接口">分類4</a></li>
<li><a href="路由接口">分類5</a></li>
</ul>
</div>
<hr >
<table style="float: left;" border="1">
<tr>
<td>序號</td>
<td>商品名稱</td>
<td>價格</td>
</tr>
<tr>
<td>1</td>
<td>牛角麪包</td>
<td>200.00</td>
</tr>
<tr>
<td>2</td>
<td>法式麪包</td>
<td>100.00</td>
</tr>
</table>
</body>
六、日誌配置
(1) 導包:
import logging
from logging.handlers import RotatingFileHandler
(2)配置:
#日誌文件,做用:用來記錄程序的運行過程,好比:調試信息,接口訪問信息,異常信息
def log_file(level):
# 設置日誌的記錄等級,設置日誌等級: 常見等級有:DEBUG < INFO < WARING < ERROR < FATAL(CRITICAL)
logging.basicConfig(level=level) # 調試debug級
# 建立日誌記錄器,指明日誌保存的路徑、每一個日誌文件的最大大小、保存的日誌文件編號
file_log_handler = RotatingFileHandler("logs/log", maxBytes=1024*1024*100, backupCount=10)
# 建立日誌記錄的格式 日誌等級 輸入日誌信息的文件名 行數 日誌信息
formatter = logging.Formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s')
# 爲剛建立的日誌記錄器設置日誌記錄格式
file_log_handler.setFormatter(formatter)
# 爲全局的日誌工具對象(flask app使用的)添加日誌記錄器
logging.getLogger().addHandler(file_log_handler)
七、CSRF配置
(1)導包:
from flask_wtf import CSRFProtect
(2)配置:
CSRFProtect(app)
(3)表單配置:
<form method="post" action="/">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
</form>
八、項目配置文件class Config(object): """工程配置信息""" DEBUG = True """SQLAlchemy 配置""" SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:12345678@127.0.0.1:3306/imformation' SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_COMMIT_ON_TEARDOWN = True # 數據庫內容發送改變以後,自動提交 # 查詢時會顯示原始SQL語句 # SQLALCHEMY_ECHO = True SECRET_KEY = '1811' LEVEL = 'DEBUG'