Django学习(一)
Django的请求与响应
1 | def login(request): |
Django和数据库
Django 在内部集成了一个orm框架,orm会翻译我们的代码并进行数据库操作
MySQL
安装依赖
安装 mysqlclient
1 | pip install mysqlclient==2.1.1 |
连接数据库
只能创建表,但是不能创建数据库
首先手动创建一个数据库
1
create database djstudy DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
django 连接数据库
在settings.py中配置连接数据库1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases
# 默认用的是一个sqlite文件数据库,我们可以配置我们自己的
# DATABASES = {
# "default": {
# "ENGINE": "django.db.backends.sqlite3",
# "NAME": BASE_DIR / "db.sqlite3",
# }
# }
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djstudy',
'USER': 'root',
'PASSWORD': '123zxc',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
创建表
在 models.py 文件中,编写我们的类,并且设置成员变量,那么django就会自动创建表,并且会添加id字段
1 | from django.db import models |
在终端中运行下面的命令,注意,你的app一定要注册
1 | python manage.py makemigrations |
登录数据库后输入下列命令可以查看信息,表的名字是app的名字和类名的组合
1 | show databases; |
以后如果想对表的结构进行调整,就在 models.py 文件中进行修改,并且使用上面的命令更新,注意,如果表中已经有数据了,那么新增字段时可能需要设置默认值或者允许为空,实在不行就只能删库了
操作表中数据
操作表中的数据,一般就是我们的业务逻辑,写在views.py 中,首先在views.py中引入models中的类
1 | from app1.models import UserInfo |
然后就可以对数据进行增删改查的操作了
添加数据
1
2UserInfo.objects.create(name="yjr1100",pwd="123",age=100)
UserInfo.objects.create(name="yjr-1100",pwd="134",age=90)删除数据
1
2
3
4
5# 在filter中写筛选条件
result = UserInfo.objects.filter(name='yjr1100').delete()
# 会返回删除的个数,以及数据信息
# 删除所有的数据
UserInfo.objects.all().delete()查询数据
1
2
3
4
5
6
7# 查询数据
# 得到的是一个列表,里面是一个一个的对象
queryset = UserInfo.objects.all()
queryset = UserInfo.objects.filter(name='yjr1100')
obj = UserInfo.objects.filter(name='yjr1100').first()
for user in queryset:
print(user.age)更新数据
1
UserInfo.objects.filter(name='yjr1100').update(pwd = "7777")
Django 中的Form和ModelForm
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 YJR-1100!