Django连接Mysql数据库教程

Django 连接Mysql数据库教程

接触Django的童鞋们都知道,Django默认的数据库为Sqlite,那么怎么使用Mysql数据库进行连接呢,下面给大家详细介绍

  1. 首先搭建好Python环境和Django工程,创建app
创建工程:django-admin startproject 工程名 
创建app
cd mysite 
python manage.py startapp app01
python manage.py startapp app02
  1. Django项目中安装pymysql和mysqlclient
pip install pymysql
pip install mysqlclient

这里大家要注意,一定要安装在当前项目的site-packages中
例如,我的Django项目在E:/django2,那么pymysql和mysqlclient安装在E:/django2/venv/Lib/site-packages中

  1. 配置setting文件
    首先在INSTALLED_APPS 中加入你的app名,我的app名为app01,app02
    在这里插入图片描述
  2. 在setting中配置Mysql数据库
    在这里插入图片描述
    NAME:数据库的名字
    HOST:连接的主机,默认为本地
    PORT:连接的端口,默认为3306
    USER:用户登录数据库的用户名
    PASSWORD:登录数据库所使用的密码
  3. 在app中写表结构
    在你在创建数据库的app中配置models文件
    我这里给大家用app02进行举例:
    在这里插入图片描述
    创建一个作者的类,里面有三个参数,分别是姓,名,邮箱
    使用的是char类型,最大长度为32,邮箱使用的是邮箱的数据类型,这里的数据类型有很多种,下面我给出大家Django官方文档,大家可以详细学习
    Django models 数据类型官方文档
  4. 配置admin文件
    在这里插入图片描述
  5. 登录本地mysql数据库,创建刚才setting中命名的数据库,我命名的是django2
    在这里插入图片描述
    8.生成配置文件
    python manage.py makemgirations #生成配置文件
    python manage.py migrate #根据配置创建数据库相关东西
    这两行代码在地方敲呢,有两种方式
    1. 如果你使用的是Pycharm的话,可以点击Terminal,会自动进入该工程下,然后打那两行代码
      在这里插入图片描述
    2. 如果你用的不是Pycharm的话,进入cmd,找到你的Django工程的目录下,打那两行代码
      注意:如果在打完 python manage.py makemgirations 后报错,下面我给出常见的几种报错的解决办法
    3. 报错1: django.core.exceptions.ImproperlyConfigured: mysqlclient 1.x.xx or newer is required; you have 0.x.x.
      具体报错内容:
raise ImproperlyConfigured('mysqlclient 1.x.xx or newer is required; you have %s.' % Database.__version__)

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.x.xx or newer is required; you have 0.x.x.

       解决办法:
进入Django工程目录/Lib/site-packages/django/db/backends/mysql/base.py 注释到下面的内容。

# if version < (1, 3, 13):
#   raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)
4. 报错2:AttributeError: 'str' object has no attribute 'decode'

	报错内容:
File "xx\Python37\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query
query = query.decode(errors='replace')
AttributeError: 'str' object has no attribute 'decode'
	解决办法:

打开工程项目下的\lib\site-packages\django\db\backends\mysql\operations.py 把146行的 decode 修改为 encode 即可

  1. 创建超级用户,用于后台管理
python manage.py createsuperuser 用户名

输入邮箱,密码,创建完成

  1. 运行manage.py文件
    在这里插入图片描述
    当出现这个页面时,说明连接成功
  2. 在网页上输入127.0.0.1:8000/admin/ 回车,进入Django网页管理入口,输入用户名和密码进行登录
    在这里插入图片描述
  3. 随后就显示数据库的网页管理平台
发布了44 篇原创文章 · 获赞 57 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45144837/article/details/104129175