Day03-基础视频目录

  1. 数据库-基本操作(基本查询-get&all&count)

    答:
    模型类.objects.
    
    get(查询条件):返回一个模型对象,如果查不到,会报错DoesNotExist。
    all():无参数,返回查询到的所有数据。QuerySet
    count():无参数,返回查询到的结果的数量。
    
  2. 数据库-基本操作(条件查询-get&filter&exclude)

    答:
    get(查询条件):返回一个模型对象,如果查不到,会报错。
    filter(查询条件):返回根据条件查询到结果数据,返回的是QuerySet。
    exclude(查询条件):查询不满足条件的结果数据,返回的是QuerySet。
    
    查询条件的格式:
    	<字段名>__<条件>=值
    	exact: 判等
    	contains: 包含 
    	startswith: 开头 
    	endswith: 结尾
    	isnull: 是否为空
    	in: 在...范围之内
    	gt: 大于 lt: 小于 gte: 大于等于 lte: 小于等于
    
  3. 数据库-基本操作(条件查询-F对象&Q对象)

    答:
    F对象:用于查询时字段之间的比较
    	from django.db.models import F
    	
    Q对象:用户查询时条件之间逻辑关系 与(&) 或(|) 非(~)
    	from django.db.models import Q
    
  4. 数据库-基本操作(数据查询-聚合操作&排序)

    答:
    sum(求和) avg(求平均) max(最大) min(最小) count(计数)
    from django.db.models import Sum, Avg, Max, Min, Count
    
    aggregate():聚合操作,返回dict
    order_by(排序字段):进行排序,返回QuerySet,默认升序,在排序字段之前加-就变成降序。
    
  5. 数据库-基本操作(关联查询-查询和对象关联的数据)

    答:
    查询和对象关联的数据:
    	BookInfo(一类)
    	HeroInfo(多类)
    	一对多:HeroInfo类中有一个外键关联属性:hbook = models.ForeignKey(BookInfo)
    	
    查询和图书对象关联的英雄数据(由一查多):
    	例子:heros = book.heroinfo_set.all()
    		一类对象.<多类名小写>_set.all()
    		
    查询和英雄关联的图书的数据(由多查一):
    	例子:book = hero.hbook
    		多类对象.<关联属性>
    
    class Role(models.Model):
    	"""角色模型类"""
    	name = models.CharField(max_length=20, verbose_name='角色名称')
    	
    class User(models.Model):
    	"""用户模型类"""
    	# ...
        uname = models.CharField(max_length=20, verbose='用户名称')
    	# 外键关联属性
    	role = models.ForeignKey(Role, on_delete=models.CASCADE, verbose='角色')
    
    角色和英雄之间是一对多的关系。
    示例:
    	1. 查询和admin角色关联的用户的数据
        role = Role.objects.get(name='admin')
        role.user_set.all()
        
        2. 查询和smart用户关联的角色数据
        user = User.objects.get(uname='smart')
        user.role
    
  6. 数据库-查询集(特点)

    all, filter, exclude, order_by这四个函数返回的都是QuerySet类的对象(查询集),查询集可以像list一样进行操作:遍历,取下标,切片(查询集切片时下标不能为负),QuerySet对象可以继续调用上面所讲的任何查询相关方法。
    	BookInfo.objects.filter(id__gt=3).order_by('bread')
    	
    QuerySet对象还有一个方法叫:exists->判断查询集中是否有数据,有返回True,没有返回False
    
    两大特点:
    	惰性查询:只有在使用查询集中的数据时才会真正发生数据库的查询。
    		books = BookInfo.objects.all()
    		
    	数据缓存:使用同一个查询集中的数据,只有第一次使用的时候会查询数据库,然后会将查询的结果保存起来,再使用这个查询集时,使用的是保存起来的数据,不会再去查数据库。
    
  7. Admin管理-基本使用

    Django自带Admin站点管理功能。
    
    使用:
    1. 语言和时区的本地化
    2. 创建管理员用户
    	python manage.py createsuperuser
    3. 注册模型类
    	在子应用admin.py文件中注册模型类
    	admin.site.register(<模型类>)
    
  8. Admin管理-自定义Admin站点管理页面

    自定义Admin站点管理页面:
    
    1. 定义模型Admin管理类
    	class BookInfoAdmin(admin.ModelAdmin):
    		# Django提供了很多类属性,通过对应的属性就可以控制管理界面对应内容的展示
    		pass
    
    2. 注册模型类时将模型类和Admin管理类对应起来
    	admin.site.register(BookInfo, BookInfoAdmin)
    
  9. Admin管理-列表页和编辑页相关控制属性

    列表页:
    	list_display = ['模型字段', '模型方法']
    	list_per_page
    	list_filter
    	search_fields 
    
    编辑页:
    	fields
    	fieldsets
    	图书编辑页面嵌入关联英雄的数据:表格 块
    
  10. Admin管理-站点标题设置

  11. Admin管理-上传图片

    答:
    Django框架默认将Admin站点上传的图片保存在服务器本地。
    
    1)设置配置项`MEDIA_ROOT`指定上传文件的保存目录
    2)定义模型类的时候,图片字段使用ImageField,并完成迁移
    3)在Admin站点注册模型类,就可以通过Admin站点上传图片
    	Django框架会将Admin站点上传的图片保存在服务器本地的MEDIA_ROOT目录下,同时将上传图片的相对路径保存到表的image字段中。
    
  12. DRF框架-课程内容说明

    答:
    Django Rest FrameWork:
    	1. web开发的两种模式:前后端不分离和前后端分离
    	2. RestFul API接口设计风格:前后端分离被广泛采用
    	3. 使用Django基础自定义Rest API接口
    	4. DRF框架:提高开发Rest API接口的效率
            4.1 序列化器(重点)
            4.2 类视图和扩展类(重点:2个基类,5个扩展类,9个子类视图)
            4.3 视图集
            4.4 其他功能(认证&权限&限流&过滤&排序&分页&异常处理)
    
  13. DRF框架-web开发的两种模式

    答:
    前后端不分离:前端看到的效果是由后端进行控制的。
    	缺点:只适用于纯网页的应用。
    	优点:有利于网站的SEO(搜索引擎优化)优化。
    前后端分离:后端只返回前端所需的数据,至于数据怎么进行展示,由前端自己进行控制。
    	优点:可以对接不同类型的客户端。
    	缺点:不利于网站的SEO(搜索引擎优化)优化。
    
  14. DRF框架-RestFul API接口设计风格介绍

    统一接口设计风格:
    	1. URL地址尽量使用名词,不要出现动词。
    	2. 使用不同的请求方式,代表要执行的不同的操作。
    		GET(获取)
    		POST(新增)
    		PUT(修改): PUT /books/1/ PATCH /books/1/
    		DELETE(删除)
    	3. 访问URL地址时,如果有一些过滤参数,参数可以放到查询字符串中
    		GET /books/?page=<页码>
    	4. 响应数据&响应状态码
    		GET /books/:返回所有的图书数据
    		GET /books/1/:返回id为1的图书数据
    		POST /books/:将新增的图书数据返回
    		PUT /books/1/:将修改的图书数据返回
    		DELETE /books/1/:返回空文档
    		
    		获取|修改:200
    		新增:201
    		删除:204
    		参数有误:400
    		服务器出错:500
    	5. 响应数据的格式:json
    	
    了解:
    	1. 域名:专有域名
    	2. 版本:将版本信息放在url地址
    	3. 错误:将错误信息返回
    	4. 在访问一个API接口时,将和接口相关的其他API接口的地址也在响应数据中返回。
    
  15. DRF框架-Django自定义RestAPI接口

    需求:
    	设计一套符合RestAPI风格的接口,提供以下5个接口:
    	1. 获取所有图书数据:GET /books/
    	2. 新增一本图书数据:POST /books/
    	3. 获取指定的图书数据(根据id):GET /books/(?P<pk>\d+)/
    	4. 修改指定的图书数据(根据id):PUT /books/(?P<pk>\d+)/
    	5. 删除指定的图书数据(根据id):DELETE /books/(?P<pk>\d+)/
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值