文章目录
- 参考资料
- Django配置MySQL
- 安装mysqlclient
- 创建数据库
- 进入数据库的操作
- 可能遇到的问题及解决方案
- Pycharm配置settings.py
- 模型![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c83753397bf6481d8defde26537903bf.png)
- ORM
- 介绍
- 示例
- 终端:
- settings.py
- bookstore的models.py
- 效果
参考资料
B站网课:点击蓝色字体跳转
或者复制链接到浏览器打开:https://www.bilibili.com/video/BV1vK4y1o7jH?p=15&vd_source=597e21cf34ffcdce468ba00be2177e8a
Django配置MySQL
安装mysqlclient
一般都有python3-dev,没有default-libmysqlclient-dev,需要安装default-libmysqlclient-dev
然后安装mysqlclient
sudo pip3 install mysqlclient
若安装default-libmysqlclient-dev时报错‘pkg-config: not found’,这是由于缺少 ‘pkg-config’ 工具导致的,需要安装 pkg-config 工具
sudo apt-get update
sudo apt-get install pkg-config
安装完成后,再次尝试安装 mysqlclient:
sudo pip3 install mysqlclient
看是否安装成功:
sudo pip3 freeze|grep -i 'mysql'
若出现版本号,则安装成功
创建数据库
进入数据库的操作
终端:
sudo mysql -u root -p
输入虚拟机管理员密码
Enter password:这里,没有密码直接回车,无需输入
顺利进入mysql
数据库名往往与项目名一致
create database mysite3 default charset utf8;
可能遇到的问题及解决方案
1.报错:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
分析: MySQL 客户端无法通过指定的 Unix 套接字连接到本地 MySQL 服务器。常见原因包括 MySQL 服务器未启动或者 MySQL 服务器套接字文件路径配置错误
解决方案:
2.在解决问题1时报错:Unit mysql.service could not be found.
分析:表明系统上可能没有安装 MySQL 服务器,或者 MySQL 服务器安装后的服务名称可能不是 mysql
解决方案:
命令行:
dpkg -l | grep mysql-server
sudo apt-get update
sudo apt-get install mysql-server
安装了mysql服务器后再次尝试:
sudo mysql -u root -p
Pycharm配置settings.py
settings.py-DATABASES
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite3',
'USER': 'root',
'PASSWORD': '123456',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
模型
ORM
介绍
示例
终端:
cd django
cd day03
cd mysite3
python3 manage.py startapp bookstore
settings.py
在INSTALLED_APPS中添加‘bookstore’
bookstore的models.py
from django.db import models
# Create your models here.
class Book(models.Model):
title = models.CharField('书名',max_length=50,default='')
price = models.DecimalField('价格',max_digits=7,decimal_places=2)
每一个类对应一个表,每一个属性对应一个字段
此时在数据库中是查询不到表格的:
进入数据库–选中mysite3数据库-查询表格
use mysite3
show tables;
这是因为需要数据库的迁移(同步至数据库)
python3 manage.py makemigrations
python3 manage.py migrate
效果
再次从mysql查看表格:
可以看到数据库的表格已经完成迁移
查看表格:
desc bookstore_book;
可以看到刚刚创建的表格