更新时间:2023年01月12日11时22分 来源:传智教育 浏览次数:
“载入模板→填充上下文→生成响应消息→返回响应对象”这一生成响应消息、返回响应对象的流程在视图中非常常见,于是Django提供了快捷函数——render()来简化这一流程。
render()函数定义在django.shortcuts模块中,该函数的声明如下:
render(request, template_name, context = None, content_type = None, status = None, using = None)
render()函数结合给定的模板和上下文字典,返回一个渲染后的HttpResponse对象。render()函数中各参数的含义如下:
①request:请求对象。
②template_name:模板名称或模板序列的名称。若该参数接收模板序列,则使用序列中的第一个模板。
③context:接收一个用于填充模板上下文的dict类型的数据,默认为None。若不为None,则在呈现模板之前将其整合到模板中。
④content_type:用于指定响应信息的MIME类型,如“text/html;charset=UTF-8”。
⑤status:指定响应的状态码,默认为200。
⑥using:指定加载模板时所用的模板引擎名称。
使用render()函数重写5.1节中的视图函数,具体代码如下:
from django.shortcuts import render def curr_time(request): now = datetime.datetime.now() context = { # 上下文字典 'now': now, } return render(request, "time.html",context)
除render()以外,shortcuts模块中还定义了快捷方式redirect()、get_object_or_404()、get_list_or_404()。