免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3485 | 回复: 0
打印 上一主题 下一主题

Django中调用模板的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-29 11:32 |只看该作者 |倒序浏览
django中从views.py函数调用模板有下面几种方法
1.render_to_response(template[, dictionary][, context_instance][, mimetype])
这个函数定义在django.shortcuts中。
template是模板名,要包含路径的,这个路径是加在django查找路径之后的路径;dictionary是传递给模板的模板变量值,键名是模板中的变量名,键值是模板中的变量值;context_instance主要是用来传递给模板RequestContext对象的(如果需要的话);mimetype是模板的MIME类型。
2.HttpResponseRedirect
这个类定义在django.http中。
这是一个HttpResponse的子类,使用他调用模板就相当于return了一个HttpResponseRedirect对象,象这样 return HttpResponseRedirect('***'),这里***是url路径。如果***为/就指的是127.0.0.1,如果***为/abc/就指的是127.0.0.1/abc/。这种方法其实相当于重定向了url,并没有直接调用模板。
3.redirect(to[, permanent=False], *args, **kwargs)
这个函数是django1.1中新加的,他定义在django.shortcuts中。
这个函数函数的参数如果是一个model,那么这个model的get_absolute_url()函数将被调用;如果是一个view的名字,urlresolvers.reverse()将会被用来反向解析这个名字;如果是一个url,将会重定向到这个url。
4.也可以直接return一个HttpResponse对象。
HttpResponse也是定义在django.http中的。
直接返回一个HttpResponse对象的话,这个对象中应该有模板和模板中的变量。用法如下:
t = loader.get_template('polls/index.html')
c = Context({
    'latest_poll_list': latest_poll_list,
    })
return HttpResponse(t.render(c))
5.generic views
django.views.generic.simple.direct_to_template
django.views.generic.simple.redirect_to
django.views.generic.list_detail.object_list
django.views.generic.list_detail.object_detail
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103690/showart_2081810.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP