Django框架之类视图

所谓类视图就是用类定义的视图,其主要支持客户端在用不同的请求方式发起的HTTP请求。

首先,我们需要明确一下类视图的好处:

1.代码可读向高;

2.相对于视图函数具有更高的代码复用性;

3.便于维护。

类视图的定义格式如下:

# 1. 导入视图模块from django.views.generic import View

class ObjectView(View):
    """2. 定义一个类视图"""
  

  # 3.编写视图函数
    def get(self, request):
         """处理GET请求"""
        return HttpResponse(‘以GET请求方式发起的HTTP请求‘)

    def post(self, request):
        """处理POST请求"""
        return HttpResponse(‘以POST请求方式发起的HTTP请求‘)    

在类视图定义的时候我们需要注意一下几点:

1. 类视图必须继承View类;

2. 类视图中的方法必须以请求方式的小写形式来命名;

视图函数我们编写完了,那么接下我们就要配置路由了。

我们需要在子路由中添加上一下代码:

urlpatterns = [
    # 视图函数:注册
    # url(r‘^index/$‘, views.index, name=‘index‘),
    # 类视图:注册
    url(r‘^index_get/$‘, views.ObjectView.as_view(), name=‘ObjectView‘),
]

这里注意类视图一定要调用as_view()方法。

下面我来简述一下as_view()方法的执行流程:

1. 类视图在路由中调用as_view()方法,

2. as_view()方法语法上是一个闭包,它会调用它的内层函数view(),

3. view()会将请求的对象及参数接收,传递给dispatch()方法并调用dispatch()方法,

4. dispatch()方法会接收传递的参数,并且通过python中的底层函数getattr()获取到根据请求方式确定的类视图中的方法。

5. 最后再将方法的引用逐层返回,从而完成类视图中的方法的调用。

为类视图添加装饰器

装饰器对大家来说,我相信都不

原文地址:https://www.cnblogs.com/chao666/p/12109972.html

时间: 2024-10-09 17:56:09

Django框架之类视图的相关文章

Django框架之视图

Django框架之视图层 什么是视图函数 视图函数,属于Django的视图层,默认定义在views.py文件中,是用来处理web请求信息以及返回响应信息的函数.并且这里的视图函数并不仅仅指代函数,也包括类. 请求对象 Django将http协议请求报文中的请求行.首部信息.内容主体封装到了HttpRequest对象中.将HttpRequest对象当做参数传给视图函数中去,在视图函数中,通过访问该对象的属性便可以提取http协议的请求数据 常用属性 method 获取请求方式 GET 获取GET请

django框架之视图系统和路由系统

内容回顾: 1. tags         1. for循环            {% for name in name_list %}                {{ name }}            {% endfor %}                        {% for name in name_list %}                {{ name }}            {% empty %}                空空如也          

Django框架之---视图

视图 视图的功能 视图负责接受Web请求HttpRequest,进行逻辑处理,返回Web响应HttpResponse给请求者. 使用视图的过程 视图就是一个python函数,被定义在"应用/views.py"文件中. 使用视图时需要进行两方面操作,两个操作不分先后. 1)在"应用/views.py"中定义视图. 在booktest/views.py中定义视图函数index: def index(request): return HttpResponse("

Django框架1——视图和URL配置

三个命令 1.创建一个django项目 在cmd中:django-admin.py startproject project_name D:\python\django_site>django-admin startproject first_site 2.创建应用 python manage.py startapp app_name D:\python\django_site\first_site>python manage.py startapp app001 3.运行django项目 p

Django 框架之视图函数(Views)

http请求中产生的两个核心对象: http请求: HttpRequest对象 http响应: HttpResponse对象 所在位置: django.http HttpRequest 对象的属性和方法: path: 请求页面的全路径,不包括域名; method: 请求中使用的HTTP方法的字符串表示(全大写表示,例如:GET,POST); GET: 包含所有HTTP GET参数的类字典对象; POST: 包含所有HTTP POST参数的类字典对象; COOKIES:包含所有cookies的标志

Django框架学习----视图与模板(最新文章实现)

剩下的就是我们的最后一个功能了,最新文章的跳转 我们先在view.py里面定义一个接受最新五篇文章的变量 top5_article_list,并映射到index页面里面 最后只需要在index.html文件里面吧之前的所有文章的变量换成我们刚刚定义的top5_article_list就可以了 就此django入门结束了 原文地址:https://www.cnblogs.com/humiao-0626/p/12662994.html

Django框架学习----视图与模板(详情页的上下篇文章跳转跳转)

我们实现首页到详情页的跳转之后,接下来就是实现详情的上下篇文章的跳转 第一步:挑选按钮 把选中的按钮复制到我们的detail页面里面,并用一个div包含起来,如下图: 在上图中我定义了两个变量,他现在是不存在的,我们需要在views,py里面把这两个变量赋值之后并且映射过来.如下图: 写好之后重启一下你的项目,你的详情页就拥有了上下篇文章跳转功能了 原文地址:https://www.cnblogs.com/humiao-0626/p/12662555.html

第三百零五节,Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性

Django框架,Views(视图函数),也就是逻辑处理函数里的各种方法与属性 Views(视图函数)逻辑处理,最终是围绕着两个对象实现的 http请求中产生两个核心对象: http请求:HttpRequest对象 http响应:HttpResponse对象 所在位置:django.http 之前我们用到的参数request就是HttpRequest     HttpRequest对象 逻辑处理函数的第一个形式参数,接收到的就是HttpRequest对象,这个对象里封装着用户的各种请求信息,通过

Django框架-Django视图(views)系统

Django的视图系统 定义:一个视图函数(或类),简称为视图,是一个简单的python函数或类,它接受web请求并且返回web响应. 响应可以是一张网页的html内容,一个重定向,一个404错误,一个xml文档,或一张图片. 无论视图本身包含什么逻辑,都要返回响应,代码写在那里都无所谓,只要它在你当前项目目录下面.为了将代码放在某处,大家预定成俗将视图放在项目project或应用程序app目录中的名为views.py的文件中. 1.每个视图函数,都使用HttpRequest对象作为第一个参数,