本次要完成的内容有:
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)
然后编写以下代码:
Users
ID
名称
操作
{% for row in ls %}
{
{ row.id }}
{
{ row.username }}
删除
|
编辑
{% endfor %}
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功能成功!!之后,你就完全可以设计你的工程项目了