import DetailView from django.views.generic.edit import ( CreateView, DeleteView, FormView, UpdateView...pass ① ListView:显示对象列表 用于展示一个 Model 里面的所有对象,也可以是其子集 (queryset) ,支持分页。...② DetailView:显示一个对象的某个属性详细信息 用于显示某一 Model 中的一个 object 的详细信息。...object; from django.views.generic import DetailView from books.models import Author # 当该页面被访问时,对 Model...superclass object = super().get_object() # Record the last accessed date # 当有人访问该页面时
内置视图处理对象的定义 对于我们视图处理函数,从最原始的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
如果您有兴趣,可以阅读使用F()避免竞争条件,以了解如何解决此问题; 使用通用视图:减少代码冗余 上面的detail、index和results视图的代码非常相似,有点冗余,这是一个程序猿不能忍受的...return Question.objects.order_by('-pub_date')[:5] class DetailView(generic.DetailView): model =...这里使用两个通用视图:ListView和DetailView。这两个视图分别代表“显示对象列表”和“显示特定类型对象的详细信息页面”的抽象概念。 每个通用视图需要知道它将作用于哪个模型。...而对于DetailView,question变量会被自动提供,因为我们使用了Django的模型(Question),Django会智能的选择合适的上下文变量。...更多关于通用视图的详细信息,请查看通用视图文档。
HttpResponseRedirect 对象需要一个参数:用户将被重定向的 URL (请继续看下去在这情况下我们是如何构造 URL ) 。...该重定向 URL 会调用 ‘results’ 视图并显示最终页面。 正如在教程 第3部分提到的,request 是一个 HttpRequest 对象。...这两个视图分别用于显示两种抽象概念 “显示一系列对象的列表” 和 “显示一个特定类型的对象的详细信息页”。 每个视图都需要知道使用哪个模型数据。因此需要提供将要使用的 model 参数。...在 DetailView 中 poll 变量是自动提供的 – 因为我们使用了一个 Django 模型 (Poll) ,Django 能够为上下文变量确定适合的名称。...有关通用视图的完整详细信息,请参阅 通用视图文档. 当你熟悉了窗体和通用视图后,请阅读 教程 第5部分 来学习测试我们的投票应用。
Django实现图片上传和图片显示 ---- 开始之前我们先确认环境中已经安装了Pillow,如果没有安装,可以通过pip install Pillow来安装,这个是python的图像处理库 数据库设置...', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', '...django.contrib.messages', 'django.contrib.staticfiles', 'app01', ] 数据库中建立保存图片的表 from django.db...import index urlpatterns = [ path('index',index), ] 创建模板 在templates文件下创建一个文件(最好是我们的app的名字,以此来把页面按...app分开),比如叫app1,然后在app1文件下创建我们的前端页面。
继上篇 django2.0入门教程第三节,介绍了django2.0的视图views和模板template, 本节介绍如何在前台进行投票。...将问题的相关选项遍历,以单选框显示 form表单用post方式提交数据 配置url polls/urls.py path('/vote/', views.vote, name...='vote'), 投票页面截图 http://127.0.0.1:8000/polls/1/ : ?...将投票次数加1,并更新数据库 显示投票结果 polls/views.py from django.shortcuts import render, get_object_or_404 # ... def... 提交结果页面 http://127.0.0.1:8000/polls/1/results/ ?
Django通过通用视图来完成下面一些功能: 为单一的对象展示列表和一个详细页面。...一个单独的讨论信息页面就是我们称 之为 “详细” 视图的例子。 在年/月/日归档页面,以及详细页面和“最后发表”页面中,展示以数据库为基础的对象。...的确,大多数来自Django开发新手 的问题是如何能使得通用视图的使用范围更广。...当你处理 一个object或者queryset时,Django能够使用你定义对象显示用的自述名(verbose name,或者复数的自述名,对于对象列表)来填充上下文(context)。...比如,考虑到每个publisher 详细页面上的图书列表的展示。DetailView通用视图提供了一个publisher对象给context,但是我们如何在模板中添加附加信息呢?
文章目录 前言 1 编写一个简单的表单 1.1 模版中新增表单 1.2 视图中新增交互处理 1.3 重定向的 results 页面增加显示 1.4 完善 results.html 页面代码 2 通用视图...return HttpResponseRedirect(reverse('polls:results', args=(question.id,))) 1.3 重定向的 results 页面增加显示 还是在视图中处理...= [ path('', views.IndexView.as_view(), name='index'), path('/', views.DetailView.as_view...return Question.objects.order_by('-pub_date')[:5] class DetailView(generic.DetailView): model =...Question template_name = 'polls/detail.html' class ResultsView(generic.DetailView): model
本文是由马哥教育金牌讲师小智的文字分享《如何快速搭建一个博客》整理而来。 ---- 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
在默认情况下,Confluence 是不能在页面中显示目录和当前页面中的内容导航的。 因此我们可以使用的是 Confluence 分区。 然后有上面几种分区方式。...上面就显示了 Confluence 的分区效果图。 https://www.ossez.com/t/confluence/13828
基础视图 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 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。
它是能真正显示html源码的一个包含标签。 比如下面源码,放在html页面中浏览器打开,是能直接看见aaaaabc这些带尖括号的源码的。
实际Web开发过程中,我们经常要统计并显示一个页面的浏览次数。今天我们会以博客的例子,教你如何利用Django开发网页计数器,统计并显示一篇文章的浏览次数。...如果你不知道如何设计优美的URL,欢迎阅读【Django核心基础之URL的设计与配置】 # blog/urls.py from django.urls import path, re_path from...我们使用了Django自带的通用视图,来显示文章详情。...# blog/views.py from django.views.generic import DetailView from .models import Article class ArticleDetailView...(DetailView): model = Article def get_object(self, queryset=None): obj = super().get_object
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
1.使用 django 视图类 DetailView; 2.get_object 为 DetailView 类中的方法; 3.Blog.objects.get 是 django 中封装的对数据库的操作,...get_initial 函数为 FormView 类自带函数,用来初始 form 表单的值 3. get_success_url 函数也为 FormView 类自带函数,用来返回当表单成功保存后的跳转页面链接...编辑后发布,直接跳转到文章显示页面。
models.TextField() 再来回顾一下文章详情页的视图,我们在 PostDetailView 中将 post 的 body 字段中的 Markdown 文本渲染成了 HTML 文本,然后传递给模板显示...注意这里我们使用的是类视图,类视图的内容具体请参考 基于类的通用视图:ListView 和 DetailView。...在页面的任何地方插入目录 上述方式的一个局限局限性就是只能通过 [TOC] 标记在文章内容中插入目录。如果我想在页面的其它地方,比如侧边栏插入一个目录该怎么做呢?...,注意 post.toc 实际是一段 HTML 代码,我们知道 Django 会对模板中的 HTML 代码进行转义,所以要使用 safe 标签防止 Django 对其转义。...其最终渲染后的效果就是: image.png 美化标题的锚点 URL 文章内容的标题被设置了锚点,点击目录中的某个标题,页面就会跳到该文章内容中标题所在的位置,这时候浏览器的 URL 显示的值可能不太美观
主页面完成了,接下来我们就去编写文章详情页面,首先是打开 personal_website\views.py 去编写文章详情页面视图,代码如下: from django.shortcuts import...render from django.views.generic import DetailView, ListView from.models import Article # Create your...随便点击一个标题超链接就可以进入文章详情页面,如图所示。 ?...很明显的修改成功了,在编写其他代码之前我们先去测试这个富文本编辑器中的所有格式是否都可以被正常的显示,我们去增加一篇文章。 增加文章之后我们进入文章详情页面,看看是不是富文本可以正常显示,如图所示。...显示的确实是正常的,就是代码没有高亮显示,往下滑还会发现图片和表格没有居中显示,基本上算是正常了,就差样式了,至于如何修改样式我们明天再说。
网站演示: https://bt.mypython.me 源码地址: https://github.com/geeeeeeeek/bt 项目开发过程 项目简介 该项目是基于python的web类库django...网站域名为bt.mypython.me 启动项目 django-admin startproject bt 创建应用 python3 manage.py startapp app model设计 主要是对提交的链接进行设计...它的代码非常简单: class IndexView(generic.TemplateView): template\_name = 'app/index.html' 仅仅是展示了首页页面,首页将搜索词交给了...详情页 我们再来开发详情页,从urls.py中看到,详情页是由DetailView来实现的,我们来窥探它的全貌: class DetailView(generic.DetailView): model...通用模板类来显示详情。
//github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在上上篇文章里,我们还剩下一个小问题没有解决,即前端是如何显示一个交易的详细信息的...那么这个页面是怎么来的呢?这是在前面以列表的方式显示交易摘要信息后,可以点击摘要信息右上角的“查看详情”链接打开。 那我们在本文看一下,比原是如何显示这个交易的详细信息的。...由于它分成了前后两端,那么我们跟以前一样,把它再分成两个小问题: 前端是怎么向后台发送请求,并显示数据的 后端是如何拿到相应的数据发送给前台的 需要说明的是,这个表格中包含了很多信息,但是我们在本文并不打算去解释...前端是怎么向后台发送请求,并显示数据的 首先我们看一下显示交易详细信息页面的路由path是多少。...代码我们就不跟过去了,参照前面的页面效果我们可以想像出来它就是以表格的形式把一些key-value数据显示出来。
领取专属 10元无门槛券
手把手带您无忧上云