首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django来敲门~第一部分【9.使用Django内置视图处理对象简化开发】

内置视图处理对象的定义 对于我们视图处理函数,从最原始的HttpResponse()来进行页面数据的输出,到render()函数进行模板页面的操作,已经是可以满足我们的需求了,但是Django赶脚还不够...常规情况下,对应页面中要展示数据列表的视图,通过继承Django的django.views.generic.ListView对象来实现,页面中要展示数据信息的视图,通过继承Django的django.views.generic.DetailView...class DetailView(generic.DetailView): # 指定要展示的数据类型 model = Question # 指定展示的模板页面 template_name...generic.ListView内置类,通过template_name指定了HTML视图,通过context_object_name指定了保存数据的变量,在get_queryset()函数中定义了数据的查询方式 问题详细信息页面和问题解决方案的结果展示页面...我们可以在源代码中,看到各种操作的一些信息,官方注释用于使用对象数据来渲染详细信息页面的视图对象,继承的父类中,也定义了各种属性字段用于控制单个对象数据的展示操作 以上两个视图类,都间接继承了View

90730
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django 1.10中文文档-第一个应用Part4-表单和通用视图

    如果您有兴趣,可以阅读使用F()避免竞争条件,以了解如何解决此问题; 使用通用视图:减少代码冗余 上面的detail、index和results视图的代码非常相似,有点冗余,这是一个程序猿不能忍受的...return Question.objects.order_by('-pub_date')[:5] class DetailView(generic.DetailView): model =...这里使用两个通用视图:ListView和DetailView。这两个视图分别代表“显示对象列表”和“显示特定类型对象的详细信息页面”的抽象概念。 每个通用视图需要知道它将作用于哪个模型。...而对于DetailView,question变量会被自动提供,因为我们使用了Django的模型(Question),Django会智能的选择合适的上下文变量。...更多关于通用视图的详细信息,请查看通用视图文档。

    2.4K40

    django 1.8 官方文档翻译: 1-2-4 编写你的第一个Django应用,第4部分

    HttpResponseRedirect 对象需要一个参数:用户将被重定向的 URL (请继续看下去在这情况下我们是如何构造 URL ) 。...该重定向 URL 会调用 ‘results’ 视图并显示最终页面。 正如在教程 第3部分提到的,request 是一个 HttpRequest 对象。...这两个视图分别用于显示两种抽象概念 “显示一系列对象的列表” 和 “显示一个特定类型的对象的详细信息页”。 每个视图都需要知道使用哪个模型数据。因此需要提供将要使用的 model 参数。...在 DetailView 中 poll 变量是自动提供的 – 因为我们使用了一个 Django 模型 (Poll) ,Django 能够为上下文变量确定适合的名称。...有关通用视图的完整详细信息,请参阅 通用视图文档. 当你熟悉了窗体和通用视图后,请阅读 教程 第5部分 来学习测试我们的投票应用。

    1.5K10

    django 1.8 官方文档翻译: 3-4-2 内建显示视图

    Django通过通用视图来完成下面一些功能: 为单一的对象展示列表和一个详细页面。...一个单独的讨论信息页面就是我们称 之为 “详细” 视图的例子。 在年/月/日归档页面,以及详细页面和“最后发表”页面中,展示以数据库为基础的对象。...的确,大多数来自Django开发新手 的问题是如何能使得通用视图的使用范围更广。...当你处理 一个object或者queryset时,Django能够使用你定义对象显示用的自述名(verbose name,或者复数的自述名,对于对象列表)来填充上下文(context)。...比如,考虑到每个publisher 详细页面上的图书列表的展示。DetailView通用视图提供了一个publisher对象给context,但是我们如何在模板中添加附加信息呢?

    1.4K40

    马哥金牌分享 | 十分钟学会用Django快速搭建一个blog

    本文是由马哥教育金牌讲师小智的文字分享《如何快速搭建一个博客》整理而来。 ---- 1.django简介 Django是一个开放源代码的Web应用框架,由Python写成。...1.1 Django的结构模型 层次 职责 模型(Model)数据存取层 处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。...视图(View)表现层 处理与表相关的决定: 如何在页面或其他类型文档中进行显示。 模板(Template),业务逻辑层 存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。...的视图 Django有很多的优秀的视图: View DetailView ListView FormView CreateView DeleteView UpdateView 我们的blog里面暂时只用到了...ListView和DetailView 4.2 使用dajngo自带的ListView v 编写app的views.py 4.3 使用django自带的DetailView 4.4 配置app的urls.py

    2.4K51

    django 1.8 官方文档翻译: 3-4-5 内建基于类的视图的API

    基础视图 View TemplateView RedirectView 通用的显示视图 DetailView ListView 通用的编辑视图 FormView CreateView UpdateView...BaseDateListView 基于类的通用视图 —— 索引 Simple generic views View TemplateView RedirectView Detail Views DetailView...Django 的通用视图建立在基础视图之上,用于作为经常用到的功能的快捷方式,例如显示对象的详细信息。它们提炼视图开发中常见的风格和模式并将它们抽象,这样你可以快速编写常见的视图而不用重复你自己。...译者:Django 文档协作翻译小组,原文:API reference。 本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。...Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。

    85620

    Django内置的通用类视图CBV及示例

    Django HTML template 一般网站中使用模板显示的页 ListView 显示对象列表 文章列表页 DetailView 显示对象详情 文章详细页 FormView 提交From 网站联系我们或...表示对象列表的一个页面. 执行这个视图的时候,self.object_list将包含视图正在操作的对象列表(通常是一个查询集,但不是必须)....get_context_data(**kwargs): 返回显示对象的上下文数据,通过覆盖该方法返回额外的上下文 2.DetailView ?...显示确认页面并删除现有对象的视图.仅当请求方法为POST时,才会删除给定的内容.如果此视图是通过GET提取的,它将显示一个确认页面,其中包含POST到同一网址的表单....import DetailView from django.views.generic.edit import CreateView, UpdateView, DeleteView from django.core.urlresolvers

    3.2K10

    Markdown 自动生成文章目录

    models.TextField() 再来回顾一下文章详情页的视图,我们在 PostDetailView 中将 post 的 body 字段中的 Markdown 文本渲染成了 HTML 文本,然后传递给模板显示...注意这里我们使用的是类视图,类视图的内容具体请参考 基于类的通用视图:ListView 和 DetailView。...在页面的任何地方插入目录 上述方式的一个局限局限性就是只能通过 [TOC] 标记在文章内容中插入目录。如果我想在页面的其它地方,比如侧边栏插入一个目录该怎么做呢?...,注意 post.toc 实际是一段 HTML 代码,我们知道 Django 会对模板中的 HTML 代码进行转义,所以要使用 safe 标签防止 Django 对其转义。...其最终渲染后的效果就是: image.png 美化标题的锚点 URL 文章内容的标题被设置了锚点,点击目录中的某个标题,页面就会跳到该文章内容中标题所在的位置,这时候浏览器的 URL 显示的值可能不太美观

    3.3K60

    基于 Django 的个人网站(2)

    主页面完成了,接下来我们就去编写文章详情页面,首先是打开 personal_website\views.py 去编写文章详情页面视图,代码如下: from django.shortcuts import...render from django.views.generic import DetailView, ListView from.models import Article # Create your...随便点击一个标题超链接就可以进入文章详情页面,如图所示。 ?...很明显的修改成功了,在编写其他代码之前我们先去测试这个富文本编辑器中的所有格式是否都可以被正常的显示,我们去增加一篇文章。 增加文章之后我们进入文章详情页面,看看是不是富文本可以正常显示,如图所示。...显示的确实是正常的,就是代码没有高亮显示,往下滑还会发现图片和表格没有居中显示,基本上算是正常了,就差样式了,至于如何修改样式我们明天再说。

    2.2K20

    剥开比原看代码17:比原是如何显示交易的详细信息的?

    //github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在上上篇文章里,我们还剩下一个小问题没有解决,即前端是如何显示一个交易的详细信息的...那么这个页面是怎么来的呢?这是在前面以列表的方式显示交易摘要信息后,可以点击摘要信息右上角的“查看详情”链接打开。 那我们在本文看一下,比原是如何显示这个交易的详细信息的。...由于它分成了前后两端,那么我们跟以前一样,把它再分成两个小问题: 前端是怎么向后台发送请求,并显示数据的 后端是如何拿到相应的数据发送给前台的 需要说明的是,这个表格中包含了很多信息,但是我们在本文并不打算去解释...前端是怎么向后台发送请求,并显示数据的 首先我们看一下显示交易详细信息页面的路由path是多少。...代码我们就不跟过去了,参照前面的页面效果我们可以想像出来它就是以表格的形式把一些key-value数据显示出来。

    44110
    领券