python mysql sqlaichemy flask

1.安装mysql https://blog.csdn.net/weixx3/article/details/80782479

mysql命令行https://www.cnblogs.com/qmfsun/p/4837934.html

https://www.cnblogs.com/netserver/p/5597834.html

2.MySQL、sqlalchemy、pymysql、mysqldb、DBAPI之间关系 https://blog.csdn.net/The_Time_Runner/article/details/86603277

3.sqlalchemy程序里不能建database,得在mysql命令行里create database 名字;(分号必须有)

SQLAlchemy 教程 https://www.cnblogs.com/mrchige/p/6389588.html

https://www.liaoxuefeng.com/wiki/1016959663602400/1017803857459008
写程序时报错 ERROR 1698 : Access denied for user 'root'@'localhost'
https://feiffy.cc/blog/2018/10/21/error-1698-access-denied-for-user-root-localhost

虽然我能mysql -u root打开mysql,不像上面说的那样,但是解决了程序不能访问的问题

4.Flask数据库框架flask-SQLAlchemy

https://www.cnblogs.com/xieshiqing/p/flask_mySQL.html

5.启动mysql: 方式一:sudo /etc/init.d/mysql start 方式二:sudo service mysql start

停止mysql: 方式一:sudo /etc/init.d/mysql stop 方式二:sudo service mysql stop

重启mysql: 方式一:sudo/etc/init.d/mysql restart 方式二:sudo service mysql restart

6.

修改mysql的配置文件,让mysql默认编码为utf8

在我的ubuntu机器上,mysql的配置目录为/etc/mysql

而我们mysql使用的配置文件为

  /etc/mysql/my.cnf

我们可以直接加在my.cnf中,当然为了方便移植可复用,也可以如下写在独立的配置文件中。

在my.cnf最后又include了 conf.d/ 下面所有的*.cnf文件,所以我们就在conf.d/下面加上一个我们自己的配置文件wy_sql.cnf

添加如下两行

[mysqld]
character-set-server=utf8

 再创建表的时候默认编码就是utf8了。

   显示的问题

上面改了服务器的字符编码,但是如果不改client的,在终端上显示的还是???

还需要在配置文件中加上

[client]
default-character-set=utf8


7.Flask+Bootstrap Web开发中Python代码嵌入html 时中文显示失败的解决方法
在Python的安装目录的lib目录下找到 mimetypes.py ,打开进行编辑,将如下代码加入到import之后,

default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:  
    reload(sys)  
    sys.setdefaultencoding(default_encoding)


python mysql sqlaichemy flask_第1张图片wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

8.第一次使用这个SQLALCHEMY模块需要对源码进行改变及设置:

设置SQLALCHEMY_TRACK_MODIFICATIONS 为True或False
/home/air/Desktop/microblog/flask/local/lib/python2.7/site-packages/flask_sqlalchemy/__init__.py:839: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.
  'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
提示我们需要设定参数‘True’ 或者 ‘’Flase‘
是说SQLALCHEMY_TRACK_MODIFICATIONS不能默认什么都没有, 
得设置其为 True 或者 False, 
所以就去/flask/local/lib/python2.7/site-packages/flask_sqlalchemy/__init__.py这个文件中进行更改, 
提示给的839行,在前面几行的位置有这样的setdefault, 
把None改为True;:

...
 833            track_modifications = app.config.setdefault(
 834             'SQLALCHEMY_TRACK_MODIFICATIONS', True #这里,一开始是None需要改变为True or Flase
 835         )
 

你可能感兴趣的:(python mysql sqlaichemy flask)