在网站开发中, 经常会出现需要列出某个表中的一些数据展示出来
, 比如文章列表, 图书列表等等, 在django中可以使用ListView
来帮我们呢快速实现这种需求
ListView类视图的使用
方法属性的使用
model = 模型类 >> 指定是哪个模型类
template_name = 模板路径 >>指定是哪个模板
context_object_name = '模板数据名称' >> 传入模板的数据
paginate_by = 数值 >> 每页显示多少条数据
ordering = 模型类的字段名 >> 指定排序方式
page_kwarg = '值' >> 获取第几页的参数, 默认使用page
get_context_data: 获取上下文的数据方法
get_queryset: 如果你提取数据时, 并不是要把所有的数据都返回, 那么就可以重写该方法,过滤数据
page_kwarg = ‘值’ 的使用
get_queryset的使用
主要目的是:可以提取自己指定的数据
get_context_data的使用
主要的目的是: 获取上下文的数据
只要调用了该视图类就会触发get_context_data方法,
主要用于分页,详情看下一遍博客
类视图代码
class ArticleListView(ListView):
model = models.Article # 模型类名称
template_name = 'article.html' # 显示的模板
context_object_name = 'articles' # 传入模板的键名称
paginate_by = 10 # 显示多少条数据
ordering = 'id' # 排序方法, 按照字段的id正序排序
page_kwarg = 'p' # 分页的路径名称
创建模板