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数据库的主要内容,如果未能解决你的问题,请参考以下文章

Django 第八课 4.MySQL数据库操作

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

Django 连接mysql数据库与部署

Django数据库

Django---Django连接Mysql数据库

Eclipse建立Django项目连接MySQL数据库报错,如图,请问该怎么解决?