## Django类视图
普通的函数视图在大多数框架中都是主力,不过如果需要批量处理一些重复信息的展示,类视图确实比函数视图简单很多,假设有一个类Book
~~~
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField('Author')
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
~~~
<br>
如果有一个页面需要展示所有的书,则可以直接使用Django中的ListView类
~~~
from django.views.generic import ListView
from books.models import Publisher
class PublisherList(ListView):
model = Publisher
~~~
<br>
再需要做的就是url映射了
~~~
from django.conf.urls import url
from books.views import PublisherList
urlpatterns = [
url(r'^publishers/$', PublisherList.as_view()),
]
~~~
上面完成就可以返回给前端的模板文件了,不过这里的模板文件是有默认名称publisher_list.html的
~~~
{% extends "base.html" %}
{% block content %}
<h2>Publishers</h2>
<ul>
{% for publisher in object_list %}
<li>{{ publisher.name }}</li>
{% endfor %}
</ul>
{% endblock %}
~~~
<br>
这里的object_list是默认的对象列表名称,如果想自己起名字,使用context_object_name修改名称
~~~
class PublisherList(ListView):
model = Publisher
context_object_name = 'my_favorite_publishers'
~~~
- Django基础
- 模型
- 外键
- Model Manager
- 过滤器函数
- 查询对象
- 字段的细节
- QuerySet的应用
- 视图
- Django类视图
- 权限控制
- Django进阶
- 中间件
- _meta组件
- 信号
- User模块
- prefetch_related和select_related的区别
- 较少被用到的查询对象
- Django的深层设计理念
- Declarative Syntax
- django的migration操作
- 较少用到的Queryset方法的一些坑
- Django配置
- Django环境配置变量
- Django源码阅读
- ORM
- QuerySet源码
- Query源码
- Q&F
- Model和Manager的详解
- Http请求响应
- HttpRequest
- 自建数据结构
- Django开发辅助工具
- Django-rest-framework
- Serializer
- 异步任务调度器Celery
- 数据库补充
- 定义
- 字段
- 事务
- 视图
- 函数
- 联结
- 窗口函数
- GROUPING运算符
- HAVING谓词
- django_bulk_update
- django_bulk_update源码分析
- 项目小功能开发
- Django的一些小细节