文章目录
1 概述
1.1 Mysql 下载和安装
1.2 菜单目录
- 主要使用的文件如图
2 ORM 框架
2.1 连接 Mysql 模块:mysqlclient
> pip install mysqlclient
- 若 pip 安装失败,可进入 Python 官方库中下载 whl 文件,操作可参考:
- 博客:https://blog.csdn.net/qq_34745941/article/details/106341898
2.2 创建数据库
# 创建数据库>createdatabase Demo DEFAULTCHARSET utf8 COLLATE utf8_general_ci;>># 展示数据库>showdatabases;
2.3 连接 Mysql
在 settings.py 中,配置 Mysql 的连接串
DATABASES ={'default':{'ENGINE':'django.db.backends.mysql',# 不做修改'NAME':'demo',# 数据库名'USER':'root',# 用户名'PASSWORD':'12345',# 密码'HOST':'127.0.0.1',# 主机'PORT':'3306',# 端口号(默认)}}
扩展:
Django 也支持其它数据库:官方文档:https://docs.djangoproject.com/zh-hans/3.2/ref/databases/
2.4 创建表
注意:
① 该类可重复执行
② 若类中的字段存在变更,则数据库表中的字段也同步变更
③ 若该类删除,则数据库中的表也同步删除
settings.py 中:
INSTALLED_APPS =['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app01.apps.App01Config'# 注册项目]
models.py 中:
from django.db import models
# 参数 models.Model 固定classUserInfo(models.Model):
name = models.CharField(max_length=32)
password = models.CharField(max_length=64)
age = models.IntegerField()
终端中依次执行命令:数据库迁移,同步表结构!
> python manage.py makemigrations
> python manage.py migrate
可选,创建管理员
python manage.py createsuperuser
查询表:
mysql>use demo;
mysql>desc app01_userinfo;
2.5 增删改查
views.py:
from django.shortcuts import render, HttpResponse
from app01.models import UserInfo
# Create your views here.deform(request):# 1.添加数据
UserInfo.objects.create(name="张三", password=123, age=18)
UserInfo.objects.create(name="李四", password=456, age=20)
UserInfo.objects.create(name="王五", password=789, age=22)# 2.删除数据
UserInfo.objects.filter(id=3).delete()# 删除单条数据# UserInfo.objects.all().delete() # 删除全部数据# 3.获取数据
data_list = UserInfo.objects.all()# return QuerySet 类型数据for obj in data_list:print(obj.id, obj.name, obj.password, obj.age)
row_obj = UserInfo.objects.filter(id=1).first()print(row_obj.id, row_obj.name, row_obj.password, row_obj.age)# 4.更新数据
UserInfo.objects.filter(id=1).update(age=30)return HttpResponse("成功")
urls.py:
from django.urls import path
from app01 import views
urlpatterns =[# path('admin/', admin.site.urls),# ORM 测试
path('orm/', views.orm)]
3 扩展
3.1 ERROR:2026, ‘SSL connection error: unknown error number’
报错截图:
- 原因:较高版本的 mysql 的 ssl 是默认开启的
- 解决:关闭 ssl,同下 5 个步骤
【第一步:登录 mysql,查看 ssl 开启情况】
C:\Users\Administrator>mysql -u root -p
Enter password: *****
mysql>show variables like'%ssl%';
【第二步:修改 my.ini】
【第三步:重启 mysql 服务】
【第四步:重新执行命令】
【第五步:启动 DJango 项目】
版权归原作者 鱼丸丶粗面 所有, 如有侵权,请联系我们删除。