存在问题:
django如何连接mysql数据库


解决方案:

  1. 创建工程和项目APP;
  2. 修改Django的settings.py文件(根据自己的数据库配置信息修改);
    并在setting.py文件中添加app
DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': BASE_DIR / 'db.sqlite3',
        'ENGINE':'django.db.backends.mysql',
        'NAME':'tushu',   #数据库名
        'USER':'root',    #用户名
        'PASSWORD':'root',    #密码
        'HOST':'127.0.0.1',
        'PORT':'3306' 

在这里插入图片描述
在这里插入图片描述

  1. 修改__init__.py文件,配置Mysql,替换默认的数据库引擎,添加以下内容
import pymysql
pymysql.install_as_MySQLdb()

在这里插入图片描述
4. models.py文件中加入数据表创建语句

from django.db import models

# Create your models here.

class list(models.Model):
    value_a=models.CharField(max_length=50)
    value_b = models.CharField(max_length=50)

在这里插入图片描述
5. 迁移数据到MySql

python manage.py makemigrations
python manage.py migrate

此时发现mysql中多出一个newweb_list的新表(名称默认是APP应用名+models.py中的类名)
在这里插入图片描述
此时可以给空数据库填写一些数据,方便后续查询交互验证;
在这里插入图片描述
6. 编写url.py、视图views.py和Template中list.html三个文件后,启动django web服务,完成数据交互查询结果展示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数据库MySql查询结果:
在这里插入图片描述
特别注意:
此文描述的为通过models中建表后迁移到数据库中情况;
若mysql数据库中原本已经存在数据表,需要进行连接直接使用的话,可通过以下命令将数据库表自动生成到models.py文件中

python manage.py inspectdb > models.py

在这里插入图片描述
此时,会发现除了应用SPP newWeb文件中的models.py外,多了一个models2.py的文件,这个就是新生成的(包含数据库中原本所有表)。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部