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

前言

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

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

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

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

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

连接Mysql

Django连接Mysql分三步

  1. Mysql提前创建好数据库。

  2. 修改Django的settings.py文件。

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

1.Mysql提前创建好数据库

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

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

2.修改Django的settings.py文件

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

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

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

复制以下代码

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,添加以下内容。

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

复制以下代码

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

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

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

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

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

3.迁移

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

python manage.py makemigrations
python manage.py migrate

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

生成的表。

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

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

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

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

展示内容


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

  1. 编写url。

  2. 编写视图(views)。

  3. 编写html(templates)。

  4. 启动web。

1.编写url

urls.py

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

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

2.编写视图(views)

web/views.py

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

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

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

打开游览器,输入http://127.0.0.1:8000/student\_list

如图所示!

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

总结


本次主要讲述的是Django如何连接Mysql。并且顺带的做了一个测试小Demo,展示一个web是如何运行起来的。如果基础不好,我相信后面这些还是很有用的。

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

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

想学习更多关于Python的知识,可以参考学习网址:http://pdcfighting.com/,点击阅读原文,可以直达噢~

**-----**------**-----**---**** End **-----**--------**-----**-****

往期精彩文章推荐:

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

欢迎各位大佬点击链接加入群聊【helloworld开发者社区】:https://jq.qq.com/?_wv=1027&k=mBlk6nzX进群交流IT技术热点。

本文转自 https://mp.weixin.qq.com/s/nttS88RquA4geqVCUa8rqA,如有侵权,请联系删除。

image
pauline.holic
于千万人之中遇见你所要遇见的人,于千万年之中,时间的无涯的荒野里,没有早一步,也没有晚一步,刚巧赶上了,那也没有别的话可说,惟有轻轻地问一声:“噢,你也在这里吗?”。
4
发布数
0
关注者
4338
累计阅读

热门教程文档

10.x
88小节
QT
33小节
Maven
5小节
HTML
32小节
Golang
23小节