更新时间:2022-07-27 来源:黑马程序员 浏览量:
视图是Django框架的核心之一,它接收并处理URLconfs分发的HTTP请求,返回响应。本章将对视图相关的知识进行讲解。
视图用于处理HTTP请求,并返回响应。视图的功能决定了它的基本结构,其结构示意如下:
def view_name(request, *arg=None, **kwargs=None): 代码段 return HttpResponse(response)
使用以上结构可定义一个基本视图,显然这个视图本质上是一个Python函数。结构示意中的view_name表示视图名称;参数request是必选参数,用于接收请求对象(HttpRequest类的实例);参数args和kwargs为可选参数,用于接收URL中的额外参数;返回值用于返回响应对象(HttpResponse类或其子类的实例)。
在应用的views.py文件中定义一个返回当前日期和时间的视图curr_time(),具体代码如下:
from django.http import HttpResponse import detetime def curr_time(request): now = datetime.datetime.now() response = "<html><body>It is %s.</body></html>" % now return HttpResponse(response)
以上视图将页面的样式以硬编码形式写在了代码中,这会造成两个问题:
①若要修改视图返回的页面样式,必须修改Python代码。
②若页面内容较多,视图会非常臃肿。
Django当然考虑到了上述问题,根据MTV设计模式,Django提倡将页面样式放在模板文件之中,在视图文件中使用上下文字典向模板传递数据。