1. 一个呈现静态“关于”页面的URLconf

from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template
urlpatterns = patterns('',
('^about/$', direct_to_template, {
'template': 'about.html'
})
)

注意:页面有中文,模板文件请使用UTF-8编码
2. 在我们自己的视图中重用它

from django.conf.urls.defaults import
from django.views.generic.simple import direct_to_template
from mysite.views import *
urlpatterns = patterns('',
('^about/$', direct_to_template, {
'template': 'about.html'
}),
('^about/(\w+)/$', about_pages),
)
from django.http import Http404
from django.template import TemplateDoesNotExist
from django.views.generic.simple import direct_to_template
def about_pages(request, page):
try:
return direct_to_template(request, template="about/%s.html" % page)
except TemplateDoesNotExist:
raise Http404()

3. 对象的通用视图

from django.views.generic import list_detail
from mysite.books.models import *
publisher_info = {
"queryset" : Publisher.objects.all(),
"template_object_name" : "publisher",
"template_name" : "books/publisher_list.html",
"extra_context" : {"book_list" : Book.objects.all()}
}
urlpatterns = patterns('',
(r'^publishers/$', list_detail.object_list, publisher_info)
)
{% extends "base.html" %}
{% block content %}

Publishers


  • {% for publisher in publisher_list %}
  • {{ publisher.name }} {% endfor %}
{% endblock %}

注意publisher_info各参数的默认值,template_object_name默认为object_list,template_name默认为books/publisher_list.html,注意结果的缓存问题
4. 显示某个出版商的所有书籍

urlpatterns = patterns('',
(r'^publishers/$', list_detail.object_list, publisher_info),
(r'^books/(\w+)/$', books_by_publisher),
)
from django.views.generic import list_detail
from mysite.books.models import *
def books_by_publisher(request, name):
# Look up the publisher (and raise a 404 if it can't be found).
try:
publisher = Publisher.objects.get(name__iexact=name)
except Publisher.DoesNotExist:
raise Http404
# Use the object_list view for the heavy lifting.
return list_detail.object_list(
request,
queryset = Book.objects.filter(publisher=publisher),
template_name = "books/books_by_publisher.html",
template_object_name = "books",
extra_context = {"publisher" : publisher}
)
{% extends "base.html" %}
{% block content %}

{{publisher.name}} Book List


  • {% for book in books_list %}
  • {{ book.title }} {% endfor %}
{% endblock %}

Django笔记7(通用视图)相关推荐

  1. django.views.generic通用视图的CreateView, ListView, UpdateView, DetailView, DeleteView用法

    导入: from django.views.generic import CreateView, ListView, UpdateView, DetailView, DeleteView 入坑指南 用 ...

  2. 深入Django(1): 通用视图 (generic views)

    如果对Django的基础部分尚不熟悉,请参考<Django实战>系列. 内容提要 1. 回顾Django的视图函数(view function) 2. 在视图函数中使用模板 3. 简化视图 ...

  3. django 1.8 官方文档翻译: 3-4-2 基于类的内建通用视图

    基于类的内建通用视图 编写Web应用可能是单调的,因为你需要不断的重复某一种模式. Django尝试从model和 template层移除一些单调的情况,但是Web开发者依然会在view(视图)层经历 ...

  4. Python Django CBV下的通用视图函数

    ListView TemplateView DetailView 之前的代码实例基本上都是基于FBV的模式来撰写的,好处么,当然就是简单粗暴..正如: def index(request):retur ...

  5. django通用视图(CBV)

    1. 介绍 Django提供了很多通用的基于类的视图(Class Based View),来帮我们简化视图的编写.这些View与上述操作的对应关系如下: 展示对象列表(比如所有用户,所有文章)- Li ...

  6. Django 学习小组:基于类的通用视图详解(一)

    通过三周的时间我们开发了一个简单的个人 Blog,教程地址: 第一周:Django 学习小组:博客开发实战第一周教程 -- 编写博客的 Model 和首页面 第二周:Django 学习小组:博客开发实 ...

  7. Django 基于类的通用视图详解

    原文出处:https://segmentfault.com/a/1190000005685454 Django 学习小组:基于类的通用视图详解(一) 通过三周的时间我们开发了一个简单的个人 Blog, ...

  8. django通用视图(视图类)的login登陆、权限限定

    django的登陆限定和权限限定是view设计中很重要的一个组成.网上的教程大部分都是通过使用view函数的装饰器来实现,比如: @login_required(login_url='/') @per ...

  9. Django 实现HTML转PDF 用通用视图编写PDF 并且让PDF支持中文

    Django 实现HTML转PDF 用通用视图编写PDF 并且让PDF支持中文 如何使用django-easy-pdf django-easy-pdf的依赖 安装django-easy-pdf 使用过 ...

最新文章

  1. 当析构函数遇到多线程──C++ 中线程安全的对象回调
  2. python是不是特别垃圾-谈谈python垃圾回收机制
  3. linux以太坊开发环境搭建
  4. smtplib python教程_python使用smtplib模块发送邮件
  5. Android官方技术文档翻译——ApplicationId 与 PackageName
  6. 并发容器(J.U.C)中的集合类
  7. 修改了xml要不要重新起服务器,关于设置:Eclipse每次运行项目时都会修改server.xml(运行-在服务器上运行)...
  8. 数据库爬坑MySQL
  9. 设置最小值_WELSIM中设置有限元计算结果的最大最小值
  10. django 安装/部署过程
  11. Linux 多线程压缩/解压缩
  12. MSN网页上点击连接
  13. 计算机二级vb上机操作题库,全国计算机二级VB上机题库(题+答案)word版
  14. Java输入小数和整数求COSx_嗖嗖移动大厅 源代码 Java初级小项目
  15. jeecms9自定义标签以及使用新创建的数据库表
  16. 如何看待社会的阴暗面
  17. python 7-1 输出星期名缩写 (10分)
  18. Handing time
  19. C语言程序设计-鸡兔同笼问题
  20. php WEB报表工具的设计

热门文章

  1. 纯CSS3实现动态火车行驶特效
  2. C#根据屏幕尺寸大小重新定位控件大小和位置
  3. [PBRT-V3]从MCMC的角度分析MLT
  4. 如何将网页实现变灰效果?
  5. 堆排序——top k问题
  6. 大数据分析需注意什么问题
  7. express学习 - (3)express 路由
  8. 边信息(即对应的两个数组值)_Python 数据分析 NumPy 模块迭代数组nditer方法详解...
  9. python爬取天气数据的header_[python爬虫]爬取天气网全国所有县市的天气数据
  10. php 慢日志,php-fpm慢执行日志