手把手教你使用Django如何连接MySQL

发布时间:2025-05-15 00:55:47 作者:益华网络 来源:undefined 浏览量(0) 点赞(0)
摘要:前言 这次咱们来简述一下,Django如何连接Mysql。 默认情况下,Django连接的是自己带的sqlite数据库。 这种数据库好处是方便,不需要远程连接,打包项目挪到其他电脑上安装一下依赖一会就跑起来了。 但是缺点就是,可能会出现各种莫名其面的问题,所以,

前言

这次咱们来简述一下,Django如何连接Mysql。

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

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

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

连接Mysql

Django连接Mysql分三步

Mysql提前创建好数据库。 修改Django的settings.py文件。 修改项目文件夹下的__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来跑一下试试。

迁移数据库流程。

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

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 

生成的表。

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

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

展示内容

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

编写url。 编写视图(views)。 编写html(templates)。 启动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>  id 姓名 年龄 性别 年纪 {{ student.id }} {{ student.name }} {{ student.age }} {{ student.gender }} {{ student.grade }}

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。

如果你觉得文章还可以,记得点赞留言支持我们哈。感谢你的阅读,有问题请记得在下方留言噢~

本文转载自微信公众号「Python爬虫与数据挖掘」,可以通过以下二维码关注。转载本文请联系Python爬虫与数据挖掘公众号。

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!