常見錯誤
1. 使用MySQL資料庫,出現500 Internal Server Error
類似錯誤訊息如下:
populate() isn't reentrant
MySQLdb._exceptions.OperationalError: (2059, NULL)
解決辦法:
由於django目前還不支持mysql8.0的caching_sha2_password加密方式,因此需修改為mysql_native_password加密方法
打開mysql指令視窗,輸入指令
ALTER USER '<帳號>'@'localhost' IDENTIFIED BY '<帳號>' PASSWORD EXPIRE NEVER;
更新密碼
ALTER USER '<帳號>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<密碼>';
修改後重啟服務即可

2. 使用SQL Server資料庫,於安裝或更新過程出現error.log
查看error.log出現以下類似錯誤訊息:
SQL Server v16 is not supported.
raise FullResultSet
解決辦法:
由於 django4.2 及 SQL Server 2022 後,原先使用的mssql相關套件已不支援,請按照以下步驟執行:
下載套件
請至Python資料夾下安裝所需套件:
若為Windows版本路徑為 C:\Program Files\OMFLOW Server\Python
python.exe -m pip install mssql-django -t Lib\site-packages
Linux版本則進入虛擬Python環境
pip install mssql-django
修改settings.py
Windows版本路徑為 C:\Program Files\OMFLOW Server\omflow\omflow\settings.py
Linux版本路徑為 /opt/omflow/server/omflow/settings.py
#將ENGINE參數值改為mssql
DATABASES = {"default": {"ENGINE": "sql_server.pyodbc","NAME":...後面略
#改為
DATABASES = {"default": {"ENGINE": "mssql","NAME":......後面略
重新執行更新檔
3. 使用Domain或外部IP連線回傳CSRF(403)錯誤 - 1.2.1 New
解決辦法:
Django4.2 版本後使用 Domain 進行連線需要額外設定 CSRF_TRUSTED_ORIGINS 參數
修改settings.py
Windows版本路徑為 C:\Program Files\OMFLOW Server\omflow\omflow\settings.py
Linux版本路徑為 /opt/omflow/server/omflow/settings.py
DEBUG = False
#新增以下設定,並將網址替換為使用的Domain
CSRF_TRUSTED_ORIGINS = [
'https://*.example1.com',
'https://*.example2.com',
...
]
重新執行更新檔
Last updated
Was this helpful?