20180906开始记录我学Python+Flask的历程

20180906开始记录我学Python+Flask的历程

2018.9.3 开始跟着慕课网的视频学习如何写一个“微电影网站“
2018.9.6 跟着视频写到07 3-3 评论-收藏-权限-角色-管理员-操作日志数据模型设计,需要测试python models.py,出现如下几个问题。
1、在Terninal窗口输入命令python models,提示无法找到Flask的情况。(要激活虚拟环境)
通过百度和群里询问,原来要在Terninal窗口中先cd进入\movie_project\venv\Scripts>目录下运行activate执行虚拟目录激活,激活后,在目录前面就会有个“(venv)”的标志,表示进入了虚拟环境,退出虚拟环境用 deactivate 命令,参考“http://www.tendcode.com/article/virtualenv-for-python/”中间关于“使用 virtualenv”的部分。
2、提示找不到”flask_sqlalchemy”包。(要再pip)
但是显然在pycharm集成环境是已经安装了这个包的。实际解决情况:在Terninal中pip install flask-sqlalchemy 包,问题解决。经过百度等查询,无确切解释,但有相关类似情况,也是这种解决方案。
3、出现了”由于目标机器积极拒绝,无法连接。 127.0.0.1:3306 “的错误.”。(端口问题)
经过检查,是因为代码端口和MySQL默认端口写的不一致,因为视频中是修改了mysql的默认端口的。错误代码在models.py 7-11句,其中8889就是修改后的默认端口,代码如下:

app = Flask(__name__)
# 连接数据库: SQLALCHEMY_DATABASE_URI
# 用于连接数据的数据库。例如:mysql://username:password@server/db
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+pymysql://root:[email protected]:8889/movie"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True

window修改mysql默认端口的方法参考:“https://www.cnblogs.com/strive-study/p/5071147.html”,大致流程就是:1)先关闭mysql服务 2)修改my.ini中端口(两个位置)到自己想设置的如8889(用everything搜索文件位置最方便,我这次是在C:\ProgramData\MySQL\MySQL Server 8.0\my.ini)3)保存文件后重新启动服务,完成。
4、出现警告:提示要SQLALCHEMY_TRACK_MODIFICATIONS为Ture,实际设置了无效。
flask_sqlalchemy\__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.
warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.')

解决办法:去flask_sqlalchemy的init.py里面修改,在init.py里面有init_app方法,修改下面的一行:
track_modifications = app.config.setdefault(‘SQLALCHEMY_TRACK_MODIFICATIONS’, True),然后保存,重新运行。搞定!
参考:https://blog.csdn.net/qq_25730711/article/details/53690687https://blog.csdn.net/kompany4/article/details/78266644,解决问题。
5、出现警告:1366, “Incorrect string value: ‘\xD6\xD0\xB9\xFA\xB1\xEA…’ for column ‘VARIABLE_VALUE’ at row 518”
开始百度很久,一直以为是字符代码集问题导致,但实际应该是mysql的bug,但可能联影响程序运行和使用。
参考链接:
https://blog.csdn.net/normang/article/details/81273182
https://www.cnblogs.com/pengyusong/p/6008936.html

猜你喜欢

转载自blog.csdn.net/zyself/article/details/82467427