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

本次要完成的内容有:

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

2、并测试链接

3、实现简单的查询功能

 

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

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

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

基于django框架web项目实战开发三 django连接mysql数据库_第1张图片

第一步:设置数据库链接

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

基于django框架web项目实战开发三 django连接mysql数据库_第2张图片

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

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

第二步:工程加载数据库

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

基于django框架web项目实战开发三 django连接mysql数据库_第3张图片

打开后,添加以下代码

import pymysql
pymysql.install_as_MySQLdb()

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

第三步:导入mysql驱动

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

基于django框架web项目实战开发三 django连接mysql数据库_第4张图片

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

基于django框架web项目实战开发三 django连接mysql数据库_第5张图片

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

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

基于django框架web项目实战开发三 django连接mysql数据库_第6张图片

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

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

基于django框架web项目实战开发三 django连接mysql数据库_第7张图片

再次启动测试,

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

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

基于django框架web项目实战开发三 django连接mysql数据库_第8张图片

然后,再次启动测试

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

基于django框架web项目实战开发三 django连接mysql数据库_第9张图片


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

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

基于django框架web项目实战开发三 django连接mysql数据库_第10张图片

点击打开,将以编写第一个用户表的模型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

基于django框架web项目实战开发三 django连接mysql数据库_第11张图片

创建同步文件

输入:python manage.py makemigrations

基于django框架web项目实战开发三 django连接mysql数据库_第12张图片

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

输入:python manage.py migrate

基于django框架web项目实战开发三 django连接mysql数据库_第13张图片

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

基于django框架web项目实战开发三 django连接mysql数据库_第14张图片

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

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

基于django框架web项目实战开发三 django连接mysql数据库_第15张图片

添加一下代码:

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)

基于django框架web项目实战开发三 django连接mysql数据库_第16张图片

然后编写以下代码:




    
    Users



        {% for row in ls %}
            
        {% endfor %}
        
ID 名称 操作
{ { row.id }} { { row.username }} 删除 | 编辑

基于django框架web项目实战开发三 django连接mysql数据库_第17张图片

3、添加访问路径

打开urls.py

基于django框架web项目实战开发三 django连接mysql数据库_第18张图片

编写以下代码:

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、启动项目

基于django框架web项目实战开发三 django连接mysql数据库_第19张图片

5、测试

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

基于django框架web项目实战开发三 django连接mysql数据库_第20张图片

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

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

基于django框架web项目实战开发三 django连接mysql数据库_第21张图片

基于django框架web项目实战开发三 django连接mysql数据库_第22张图片

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

你可能感兴趣的:(python,mysql,django,连接mysql)