Django之render()

结合一个给定的模板和一个给定的上下文字典, 并返回一个渲染后的HttpResponse对象。

参数:

  • request: 用于生成响应的请求对象
  • template_name: 要使用的模板的完整名称, 可选的参数
  • context: 添加到模板上下文的一个字典. 默认是一个空字典. 如果字典中的某个值是可调用的, 视图将在渲染模板之前调用它.
  • content_type:  生成的文档要使用的MIME类型. 默认为DEFAULT_CONTENT_TYPE设置的值. 默认为"text/html"
  • status: 响应的状态码. 默认为200
  • useing: 用于加载模板的模板引擎的名称

一个简单的例子:

from django.shortcuts import render
 
def my_view(request):
    # 视图代码写在这里
    return render(request, "myapp/index.html", {"foo": "bar"})

上面的代码等于:

from django.http import HttpResponse
from django.template import loader
 
def my_view(request):
    t = loader.get_template("myapp/index.html")
    c = {"foo": "bar"}
    return HttpResponse(t.render(c, request))

  

 

其他:

from django import template
t = template.Template('My name is {{ name }}.')
c = template.Context({'name': 'Adrian'})
print t.render(c)

#---------------------------------------------------------------
import datetime
from django import template
import DjangoDemo.settings
 
now = datetime.datetime.now()
fp = open(settings.BASE_DIR+'/templates/Home/Index.html')
t = template.Template(fp.read())
fp.close()
html = t.render(template.Context({'current_date': now}))
return HttpResponse(html)

#---------------------------------------------------------------
from django.template.loader import get_template
from django.template import Context
from django.http import HttpResponse
import datetime
 
def current_datetime(request):
    now = datetime.datetime.now()
    t = get_template('current_datetime.html')
    html = t.render(Context({'current_date': now}))
    return HttpResponse(html)



#---------------------------------------------------------------
return render_to_response('Account/Login.html',data,context_instance=RequestContext(request))
View Code

 更多信息

posted @ 2020-05-21 22:40  JIMfan  阅读(607)  评论(0)    收藏  举报