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

前言

这次咱们来简述一下,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. 迁移。


很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:721195303


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

首先呢,我们需要在Django中,创建一个app。命令如下:

  •  
python manage.py startapp web

图片

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

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

图片

3.迁移

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

  •  
  •  
python manage.py makemigrationspython 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

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

------------------- End -------------------

在这里还是要推荐下我自己建的Python学习群:721195303,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!
 

猜你喜欢

转载自blog.csdn.net/aaahtml/article/details/112802030