flask部落格專案過程錯誤記錄
AttributeError: 'dict' object has no attribute 'email'
解決方案:獲取表單資料,書中原始碼email=form.data.email改為email=form.email.data
sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError) (1217, 'Cannot delete or update a parent row: a foreign key constraint fails
解決方案:在資料遷移的過程中提示這個錯誤。role的ID作為主鍵,設定為自增長。
NotImplementedError: No `id` attribute - override `get_id`
解決方案:定義get_id方法。
sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1146, "Table 'flask_blog.users' doesn't exist")
解決方案:這個提示是,不存在users表。而之前明明新建過的。去資料庫中檢視,的確沒有,只剩一張alembic_version。回想一下,昨晚最後的確遷移了資料庫。再新建,有表,遷移,丟失。定位後發現,是由於遷移資料庫時,使用python manage.py ,而在manage.py中,db是直接從config中引入的剛剛例項化好的。不會記錄到在models.py中的記錄,所以,將manage.py修改為
from models import manager
manager.run()
sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError) (1452, 'Cannot add or update a child row: a foreign key constraint fails
解決方案:role表中的資料被清空了,關聯不到外來鍵。給role表新增內容即可。
ConnectionRefusedError: [WinError 10061] 由於目標計算機積極拒絕,無法連線。
解決方案:要先執行伺服器程式,並監聽埠。
OSError: [WinError 10048] 通常每個套接字地址(協議/網路地址/埠)只允許使用一次。
解決方案:python程式沒有結束,重啟直譯器即可。(在工作管理員中關閉重啟)
OSError: [WinError 10013] 以一種訪問許可權不允許的方式做了一個訪問套接字的嘗試。
解決方案:端口占用。netstat -aon|findstr "5000",找到程序的pid,然後開啟工作管理員,關閉程序。