django连接mysql数据库
Posted Forever77
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django连接mysql数据库相关的知识,希望对你有一定的参考价值。
1.windows下安装mysql,mysql-installer-community-8.0.13.0
2.安装完成后通过mysql自带的command line client窗口进入,需要输入密码,登录后use mysql;alter user \'root\'@\'localhost\' identified with mysql_nativa_password by \'oldboy\',即修改加密方式为mysql_nativa_password,mysql 8默认的是caching_sha2_password加密,而navicat不支持这种加密方式。
3.安装navicat工具
4.通过navicat工具连接mysql数据库
5.创建一个django_db1的数据库,在这个库中创建一个book表,表结构如下
6.pycharm工具的项目解释器手动导入PyMySql模块,在项目的settings.py文件中添加两行import pymysql和pymysql.install_as_MySQLdb(),并修改DATABASES部分如下
DATABASES = { \'default\': { \'ENGINE\': \'django.db.backends.mysql\', #数据库引擎 \'NAME\': \'django_db1\', #数据库名称 \'USER\':\'root\', #登录上述数据库的用户名 \'PASSWORD\':\'oldboy\', #登录上述数据库的密码 \'HOST\':\'localhost\', #登录上述数据库所在主机 \'PORT\':\'3306\' #登录上述数据库的端口 } }
views.py
def index(request): cursor = connection.cursor() cursor.execute("insert into book(id,name,author) values(null,\'三国演义\',\'罗贯中\')") #通过execute执行sql语句 rows = cursor.fetchall() #通过fetchall将所有结果取出来 for row in rows: print(rows) return render(request,\'index.html\')
运行项目,在浏览器输入127.0.0.1:8000,会报csrf错误,暂且将settings.py文件中间件MIDDLEWARE的\'django.middleware.csrf.CsrfViewMiddleware\'注释掉
再重新打开浏览器,可看到数据库中增加了一条数据,并能在项目的终端看到输出结果
以上是关于django连接mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章
连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段