前言
这次咱们来简述一下,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配置,添加以下配置。

复制以下代码
1 2DATABASES = { 3 'default': { 4 'ENGINE': 'django.db.backends.mysql', # 默认 5 'NAME': 'school', # 连接的数据库 6 'HOST': '127.0.0.1', # mysql的ip地址 7 'PORT': 3306, # mysql的端口 8 'USER': 'root', # mysql的用户名 9 'PASSWORD': 'rootroot' # mysql的密码 10 } 11}
3.修改项目文件夹下的__init.py文件
由于配置了Mysql,所以要替换默认的数据库引擎,在项目文件夹下的__init__.py,添加以下内容。

复制以下代码
1 2import pymysql 3 4pymysql.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。
1 2python manage.py makemigrations 3python manage.py migrate

生成的表。

会生成很多其他表,不用管他,只要咱们要的。
我这里直接手动向刚刚创建的表里面添加一些数据。

展示内容
展示内容大概分为以下几个部分。
-
编写url。
-
编写视图(views)。
-
编写html(templates)。
-
启动web。
1.编写url
urls.py

1 2urlpatterns = [ 3 path('admin/', admin.site.urls), 4 path('student_list', views.student_list), 5]
2.编写视图(views)
web/views.py

1def student_list(request): 2 student_queryset = models.Student.objects.all() 3 return render(request,"student.html",{"student_queryset":student_queryset})
3.编写html(templates)
templates/student.html
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6</head> 7<body> 8<table border="1"> 9 <thead> 10 <tr> 11 <td>id</td> 12 <td>姓名</td> 13 <td>年龄</td> 14 <td>性别</td> 15 <td>年纪</td> 16 </tr> 17 </thead> 18 <tbody> 19 {% for student in student_queryset %} 20 <tr> 21 <td>{{ student.id }}</td> 22 <td>{{ student.name }}</td> 23 <td>{{ student.age }}</td> 24 <td>{{ student.gender }}</td> 25 <td>{{ student.grade }}</td> 26 </tr> 27 {% endfor %} 28 29 </tbody> 30</table> 31</body> 32</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。
如果你觉得文章还可以,记得点赞留言支持我们哈。感谢你的阅读,有问题请记得在下方留言噢~
想学习更多关于Python的知识,可以参考学习网址:http://pdcfighting.com/,点击阅读原文,可以直达噢~
-------------------********************************** End **********-------------**-----********-**********************************
往期精彩文章推荐:

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。
本文转自 https://mp.weixin.qq.com/s/nttS88RquA4geqVCUa8rqA,如有侵权,请联系删除。
