django模板中得到request 的各种信息

在做网页程序时,request,response 是少不了的,这是最基本的东西。但 django有自己的框架,在展示层,很少用到直接去取request的内容的。我以前做过java j2ee应用,有时候,经常在jsp页面用request 直接取得想要的内容。即使是用struts,也还是可以用request 去取内容的。

现在在重新用 django 重写一套程序,数据库还是用原来的,有些东西如果用django的框架去套,就不一定完全合适,比如session框架,就不适合了,如果硬要用django的框架,还得去扩展很多,工作量远远大于不用框架的方式。

django 也可以在模板中直接得到request 的各种信息吗? 肯定是可以的。只是需要做一些配置。首先是setting.py 文件配置:

程序代码 程序代码

TEMPLATE_CONTEXT_PROCESSORS=(
"django.core.context_processors.request",
)


另外在你的view 的方法里面。

程序代码 程序代码

def test(request):
    context={}
    context.update(csrf(request))  

    return render_to_response('index.html',context,context_instance=RequestContext(request))


注意 render_to_response 后面的内容。这很重要。

在模板中怎么取呢,如下方法:
1. 取session数据,如果有登录的话,我是自己写的,没有用django的session框架。

程序代码 程序代码

{% if request.session.myuser %}
         Welcome<a href="">{{ request.session.myuser.userid }}</a>
{%endif%}


2.取 GET 部分数据
程序代码 程序代码

{{request.GET.page}}


这样,在模板页面就更灵活的取得request的很多数据了。

除非申明,文章均为一号门原创,转载请注明本文地址,谢谢!
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: django
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.