Django连接Mysql

Django连接Mysql

前言

Hey,大家好呀,我是码农,星期八!,这次咱们来简述一下,Django如何连接Mysql

默认情况下,Django连接的是自己带的sqlite数据库。

在这里插入图片描述

这种数据库好处是方便,不需要远程连接,打包项目挪到其他电脑上安装一下依赖一会就跑起来了。

但是缺点就是,可能会出现各种莫名其面的问题,所以,尽可能在开始的时候,就配置上连接Mysql。

连接Mysql

Django连接Mysql分三步

  1. Mysql提前创建好数据库。
  2. 修改Django的settings.py文件。
  3. 修改项目文件夹下的__init.py文件。

1.Mysql提前创建好数据库

首先,我使用的是本机的Mysq,并且我在Mysq上创建了一个school数据库。

在这里插入图片描述

2.修改Django的settings.py文件

创建一个Django项目,在项目文件夹下settings.py下,找到原来的sqlite配置文件。

注销或删除sqlite配置,添加以下配置。

在这里插入图片描述

复制以下代码

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 默认
        'NAME': 'school',  # 连接的数据库
        'HOST': '127.0.0.1',  # mysql的ip地址
        'PORT': 3306,  # mysql的端口
        'USER': 'root',  # mysql的用户名
        'PASSWORD': 'rootroot'  # mysql的密码
    }
}

3.修改项目文件夹下的__init.py文件

由于配置了Mysql,所以要替换默认的数据库引擎,在项目文件夹下的__init__.py,添加以下内容。

在这里插入图片描述

复制以下代码

import pymysql

pymysql.install_as_MySQLdb()

如果没有安装pymysql,记得安装一下,命令:pip install pymysql

迁移数据库

如果上述都没问题了,那我们来写个小Demo来跑一下试试。

迁移数据库流程。

  1. 创建app(Django必须依赖app才能创建表)。
  2. settings.py中添加创建的app。
  3. 迁移。

1.创建app(Django必须依赖app才能创建表)

首先呢,我们需要在Django中,创建一个app。

命令

python manage.py startapp web

在这里插入图片描述

2. settings.py中添加创建的app

创建完之后,我们需要在settings.py中配置一下刚刚创建的app。

在这里插入图片描述

3.迁移

然后执行命令,迁移数据库到Mysql。

python manage.py makemigrations
python manage.py migrate

在这里插入图片描述

生成的表。

在这里插入图片描述

会生成很多其他表,不用管他,只要咱们要的。

我这里直接手动向刚刚创建的表里面添加一些数据。

在这里插入图片描述

展示内容

展示内容大概分为以下几个部分。

  1. 编写url。
  2. 编写视图(views)。
  3. 编写html(templates)。
  4. 启动web。

1.编写url

urls.py

在这里插入图片描述

urlpatterns = [
    path('admin/', admin.site.urls),
    path('student_list', views.student_list)]

2.编写视图(views)

web/views.py

在这里插入图片描述

def student_list(request):
    student_queryset = models.Student.objects.all()
    return render(request,"student.html"{"student_queryset":student_queryset})

3.编写html(templates)

templates/student.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table border="1">
    <thead>
    <tr>
        <td>id</td>
        <td>姓名</td>
        <td>年龄</td>
        <td>性别</td>
        <td>年纪</td>
    </tr>
    </thead>
    <tbody>
    {% for student in student_queryset %}
        <tr>
            <td>{{ student.id }}</td>
            <td>{{ student.name }}</td>
            <td>{{ student.age }}</td>
            <td>{{ student.gender }}</td>
            <td>{{ student.grade }}</td>
        </tr>
    {% endfor %}

    </tbody>
</table>
</body>
</html>

4.启动web

命令

python manage.py runserver 127.0.0.1:8000

在这里插入图片描述

打开游览器,输入http://127.0.0.1:8000/student_list

如图所示!

在这里插入图片描述

总结

本次主要讲述的是Django如何连接Mysql。

并且顺带的做了一个测试小Demo,一个web是如何运行起来的。

如果基础不好,我相信后面这些还是很有用的。

pymysql的版本不建议安装太高,我的是pymysql版本是0.9.2,Django版本是2.1.5

如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。

敬往事一杯酒,自此不再回头。

我是码农星期八,如果觉得还不错,记得动手点赞一下哈。

感谢你的观看。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值