🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 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' ~~~