静态文件
css ., js , 图片 , json文件 , 字体文件 等
使用:
配置setting文件
目录结构
index.html
127.0.0.1:8000
使用标签调用
index.html
中间件
轻量级底层的插件可以介入Django的请求和响应
本质就是一个Python类
方法:
__init__
不需要传参,服务器响应第一个请求的时候自动调用。用于确认是否启动该中间件
proccess_request(self,request)
在执行视图之前被调用(分配URL匹配视图之前)每个请求上都会调用返回None 或者HttpResonse对象
process_view(self,request , virw_function,view_args, view_kwargs)
调用视图之前执行,每个请求都会调用,返回None或者HttpResponse对象
process_template_response(self,request,reponse)
在视图刚好执行完后调用,每个请求都会调用,返回None或者HttpResponse对象
使用render
process_response(self,request,reponse)
所有的响应返回浏览器之前,每个请求都会调用,返回HttpResponse对象
process_exception(self,request,exception)
当视图抛出异常时调用,返回一个HttpResponse对象
自定义中间件
配置settings.py
127.0.0.1:8000/?a=1
上传图片
文件上传时,文件数据存储在request.FILES属性中 ;
存储路径
配置settings
upfile.html
urls.py
views.py
127.0.0.1:8000/upfile
发现已经成功上传到upfile目录中
其他文件也可以上传
分页
对象:
Paginator
创建对象
格式:Paginator(列表,整数)
返回值:返回一个分页对象
属性
count:对象属性
num_pages:页面总数
page_range([1,2,3,4,5] 从1 开始
方法
方法:page(num) 获得page对象 如果提供的页码不存在会抛出一个异常'invalidPage'
异常
incalidPage
当向page()传递的是一个无效的页码抛出
PageNotAnInsager
当向page传递的不是一个整数时
Empty,Page
当向page传递一个有效值,但是该页面上没有数据时抛出
Page
调用paginator对象的page方法,返回page对象,不需要手动构造
属性:
object_list:返回当前页对象的的列表
number:返回当前页是第几页,从1开始
paginator:当前页对应的paginator对象
方法
has_next():
如果有下一页返回True
has_previous():
如果有上一页返回True
has_other_pages():
判断是否又上一页或下一页
next_page_number():
返回下一页得页码,不存在抛出invalidPage异常
previous.page_number()
返回上一页得页码,不存在抛出invalidPage异常
len():
返回当前页得数据个数
Paginator 和Page关系: