Django之通用视图】的更多相关文章

01-介绍 通用视图把视图开发中常用的写法和模式抽象出来,让你编写少量代码就能快速实现常见的数据视图.显示对象列表就是这样一种任务. Django 自带的通用视图能实现下述功能: 1.列出对象并显示单个对象的详细信息.如果创建一个管理会议的应用程序,那么 TalkListView 和 Reg- isteredUserListView 就是列表视图.某一个演讲的页面就是详细信息视图. 2.呈现基于日期的对象,显示为年月日归档页面(带有详细信息),以及“最新”页面. 3.让用户创建.更新和删除对象—…
想在我们有两个视图: def thinkingview(request): user = request.user if request.method == 'GET': return render(request, 'think.html', {'user': user}) elif request.method == 'POST: user = request.user data_form = ThinkingForm(request.POST) if data_form.is_valid(…
文档:https://docs.djangoproject.com/en/1.11/topics/class-based-views/ from django.shortcuts import get_object_or_404, render from django.http import HttpResponseRedirect from django.urls import reverse from django.views import generic from .models impo…
view() :     该类为所有类视图的父类,处于最底层,仅仅只对请求参数做校验后,给特定请求方法做特定调用. 用法: url中定位到类方法:Aa.as_view() ——> View.as_view()方法对请求参数做判断后,转到View.dispatch() ——> 找到Aa.get() 或者Aa.post() 或者Aa.其他请求方法 ———>处理完成后返回view()     需要对请求方式做特定处理,可以自行修改dispatch()方法.   源码: class View(o…
上一节完成了视图编写,这一节为应用添加投票功能,也就是表单提交. 5.1编写一个简单的表单 5.2使用通用视图 5.3改良视图 5.1编写一个简单的表单 在网页设计中添加Form元素 polls/templates/polls/detail.html <h1>{{ question.question_text }}</h1> {% if error_message %}<p><strong>{{ error_message }}</strong>…
本教程接Part3开始.继续网页投票应用程序,并将重点介绍简单的表单处理和精简代码. 一个简单表单 更新一下在上一个教程中编写的投票详细页面的模板polls/detail.html,让它包含一个HTML<form> 元素: # polls/templates/polls/detail.html <h1>{{ question.question_text }}</h1> {% if error_message %}<p><strong>{{ err…
在web开发中,最令人头痛的就是一遍又一遍的重复固定的模式.在解决了模板层面和模型层面的重复代码之痛之后,Django使用通用视图来解决视图层面的代码重复. 扩展通用视图 毫无疑问通用视图可以大幅度地加速web开发,但是在许多项目中,总是有通用视图不够用的时候.确实,现今的Django开发者们需要知道如何让通用视图可以处理更多的纷繁复杂的场景. 这是1.3版本的通用视图被重新设计的原因之一.以前,通用视图只是一些带有一些扑朔迷离选择的视图函数,现在更加推荐的方法是通过继承.重写属性或方法来扩展视…
参考官网的投票系统,按照综合案例的流程创建应用polls,主要模块代码如下: test1/polls/models.py import datetime from django.db import models from django.utils import timezone # Create your models here. class Questions(models.Model): question_text = models.CharField(max_length=200) pub…
Django 1.6 基于类的通用视图 最初 django 的视图都是用函数实现的,后来开发出一些通用视图函数,以取代某些常见的重复性代码.通用视图就像是一些封装好的处理器,使用它们的时候只须要给出特定的参数集即可,不必关心具体的实现.各种通用视图的参考参见:https://docs.djangoproject.com/en/1.6/ref/class-based-views/然后函数式视图的缺点——难以扩展和自定义,开始显现出来.于是 1.3 起 django 开始用类视图来实现通用视图.较于…
创建一个通用视图   抽取出我们代码中共性的东西是一个很好的编程习惯. 比如,像以下的两个Python函数:     def say_hello(person_name): print 'Hello, %s' % person_name def say_goodbye(person_name): print 'Goodbye, %s' % person_name 我们可以把问候语提取出来变成一个参数:     def greet(person_name, greeting): print '%s…