基于django框架web项目实战开发三 django连接mysql数据库

本次要完成的内容有:

1、实现与mysql数据库的链接

2、并测试链接

3、实现简单的查询功能

 

本次内容是基于上一节的基础上而进行,上次内容https://blog.csdn.net/weixin_42914677/article/details/89742495

链接数据库之前,先准备好mysql数据库

我的数据库是本机上的stu01数据库,创建数据库,在这里就不在介绍,你可以网上查找资料(我用的是xampp和navicat)

第一步:设置数据库链接

找到工程目录下的settings.py文件,并打开,找到DTABASE,

然后将以下代码修改进去,注意:链接数据库的信息,是根据自己要链接数据库的信息而填写

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 数据库驱动
        'NAME': 'stu01',  # 数据库名
        'USER': 'root',  # 用户名
        'PASSWORD': '123456',  # 密码
        'HOST': '127.0.0.1',  # 数据库地址
        'PORT': '3306'  # 链接数据端口
    }
}

第二步:工程加载数据库

找到工程目录下__init__.py文件,并打开

打开后,添加以下代码

import pymysql
pymysql.install_as_MySQLdb()

你将会发现,导入的pymysql有错误,那是因为你的工程没有添加mysql驱动

第三步:导入mysql驱动

找到 file-》settings,按照以下步骤安装,注意,要找的是PyMySql,而不是pymysql,大小写注意。

安装完成后,看到以下信息,说明安装成功

导入成功后,启动工程测试

如果你跟着我的步骤,你的工程一定会出现以下错误提示

错误原因是因为django工程版本与mysql驱动版本问题,不过,这没有关系,你只要将版本提示注释掉即可

点击打开错误提示的base.py文件,并将版本注释

再次启动测试,

将会再次看到以下错误,不过,不要紧,你只要将其修改为

query = query.encode(errors='replace')

然后,再次启动测试

如果看到以下界面,说明你的mysql成功连接


第四步:创建数据库表模型

先找到项目(myweb)目录下的models.py

点击打开,将以编写第一个用户表的模型myweb_user,对应的是数据库表,

注意一点:django框架数据库表有他自己的命名规则,一般情况下表的名称是:项目名称_表名称。例如myweb_user,myweb是你的项目名称,user对应的是你的类名

from django.db import models


# 创建一个数据库user表模型
class User(models.Model):
    # 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列
    id = models.AutoField(primary_key=True)
    # 类里面的字段代表数据表中的字段(username),数据类型则由CharField(相当于varchar)
    username = models.CharField(max_length=100)
    # 密码
    password = models.CharField(max_length=100)

第五步:为你数据库创建表,并同步数据

右键点击你的工程,找到open in Terminal

创建同步文件

输入:python manage.py makemigrations

创建表结构并同步到数据库

输入:python manage.py migrate

完成后,打开数据库查看,将会多了很多表,其中有一张是你自己刚刚写的user类生成的表(myweb_user),其他表都是框架自己的表,暂时你不用去管太多。

第六步:编写从myweb_user获取数据,并显示到页面上

1、在views.py编写业务代码

添加一下代码:

from django.shortcuts import render
from myweb.models import User
# Create your views here.
#页面查询用户信息
def queryUsers(request):
    #到数据库查询用户信息
    us = User.objects.all()
    #将数据发给页面
    context = {"ls": us}
    return render(request, "users.html", context)

2、编写页面users.html

在工程目录下找到,然后新建user.html文件(选择工程项目找到templates,右键新建new-html file)

然后编写以下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Users</title>
</head>
<body>
<table border="1">
        <thead>
        <tr>
            <th>ID</th>
            <th>名称</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody>
        {% for row in ls %}
            <tr>
                <td>{{ row.id }}</td>
                <td>{{ row.username }}</td>
                <td>
                    <a href="#?nid={{ row.id }}">删除</a>
                    |
                    <a href="#?nid={{ row.id }}">编辑</a>
                </td>
            </tr>
        {% endfor %}
        </tbody>
    </table>

</body>
</html>

3、添加访问路径

打开urls.py

编写以下代码:

from django.contrib import admin
from django.urls import path
from myweb import views

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

4、启动项目

5、测试

打开浏览器输入:http://localhost:8000/users/

看到以上页面,说明已经成功!!

现在暂时没有数据,如何你希望看到数据,你可以手动到数据库添加数据库,再刷新查看

看到此页面,恭喜你,django链接mysql功能成功!!之后,你就完全可以设计你的工程项目了

  • 20
    点赞
  • 150
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
在Python中,可以使用Django框架连接MySQL数据库。下面是连接MySQL数据库的步骤: 1. 安装MySQL驱动程序 在Python中连接MySQL数据库需要使用MySQL驱动程序,可以使用pip命令安装MySQL驱动程序,命令如下: ``` pip install mysql-connector-python ``` 2. 在Django项目中配置数据库连接信息 在Django项目的settings.py文件中,可以配置MySQL数据库连接信息,如下所示: ``` DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'database_name', 'USER': 'username', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '3306', } } ``` 其中,'ENGINE'指定了使用的数据库引擎,'NAME'指定了数据库名称,'USER'和'PASSWORD'指定了连接数据库的用户名和密码,'HOST'指定了数据库服务器的地址,'PORT'指定了数据库服务器的端口号。 3. 创建Django模型 在Django项目中,可以使用模型来操作数据库。可以在models.py文件中定义模型,如下所示: ``` from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=50) pub_date = models.DateField() ``` 上述代码定义了一个Book模型,包含了title、author和pub_date个字段。 4. 运行数据库迁移命令 在Django项目中,需要运行数据库迁移命令来创建数据库表。可以使用以下命令来运行数据库迁移命令: ``` python manage.py makemigrations python manage.py migrate ``` 5. 使用Django模型操作数据库Django项目中,可以使用模型来操作数据库。可以使用以下代码来创建一条Book记录: ``` from myapp.models import Book from datetime import date book = Book(title='Python入门教程', author='张', pub_date=date(2021, 1, 1)) book.save() ``` 上述代码创建了一条Book记录,并将其保存到数据库中。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鼎上西瓜刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值