Python Django后端学习笔记
Last updated on 21 hours ago
创建项目
终端输入
1 |
|
目录结构
1 |
|
启动项目
runserver
运行,可选 ip 和端口号,默认http://127.0.0.1:8000/
1 |
|
启动后浏览器输入对应地址进入 django 默认页面
创建应用
项目可以由多个 app 应用组成,在创建项目时会自动生成一个和项目同名的应用
创建应用可以通过 manage 工具创建
1 |
|
会创建一个名为myapp
的目录
1 |
|
Hello World 接口
新建 hello 应用
1 |
|
出现hello
目录
编写视图函数
编写hello/views.py
1 |
|
设置路由
在主应用(与项目同名)中project/url.py
编写路由
1 |
|
启动项目
1 |
|
在浏览器输入http://127.0.0.1:8000
可以看见默认页面,页面上有我们的所有路由
浏览器输入http://127.0.0.1:8000/hello
或者使用其他工具向该地址发送 GET 请求,可以看到Hello World
连接数据库
修改 settings 配置
在project/settings
文件中,有DATABASES
字段,可以这里配置数据库名、用户、密码等信息
1 |
|
编写模型类
在hello/models.py
文件中编写模型,在其中写的每一个类,都会对应数据库中的表,成员变量则是表的字段
1 |
|
创建好之后数据库还不会出现对应的表,还需要进行迁移
数据库迁移
需要先安装 mysqlclients
迁移需要先生成迁移文件
1 |
|
不写应用名则全部
有了迁移文件,就可以进行数据库迁移
1 |
|
查看数据库,多出表名带有django
的表和hello_person
即成功
数据库的增删改查
django 中可以通过 ORM 对数据库进行操作,使开发者不需要关系数据库的类型及语法,只需要操作 model 即可
- 查:
1
2
3
4obj1 = models.Person.objects.get(name="lihua") # 返回一个对象,如果筛选结果不唯一则报错(0也会报错)
obj2 = models.Person.objects.filter(name="lihua") # 返回一个对象,含有符合条件的所有数据(无论多少都不报错)
obj3 = obj2.first() # 集合的第一个
obj4 = models.Person.objects.all() # 返回全部 - 增:
1
models.Person.objects.create(name="xiaoming",age=10) # 增加数据
- 删:
1
models.Person.objects.all().delete() # 删除,可以批量删除,删库必备
- 改:
改可以通过update
(批量修改)和赋值单数据修改1
2
3obj1 = models.Person.objects.get(name="lihua") # 获取单条数据
obj1.age = 20 # 修改数据
obj1.save() # 保存数据update
可以批量修改,但是只能用于数据集,不能用于单条数据(但是可以用于只有一条数据的数据集)1
2obj1 = models.Person.objects.filter(age=10)
obj1.update(age=11) # 批量修改,会自动保存,不需要save