django框架实现模板中获取request 的各种信息示例

yipeiwu_com6年前Python基础

本文实例讲述了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的很多数据了。

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

相关文章

200行自定义python异步非阻塞Web框架

Python的Web框架中Tornado以异步非阻塞而闻名。本篇将使用200行代码完成一个微型异步非阻塞Web框架:Snow。 一、源码 本文基于非阻塞的Socket以及IO多路复用从而...

python远程邮件控制电脑升级版

由于前边Python3.4实现远程控制电脑开关机写的远程操控电脑,使用的POP登陆有使用频率限制,导致非常被动,有时候邮件无法读取,下面改用POST网易邮箱的方法,获取邮件 impo...

python执行系统命令后获取返回值的几种方式集合

第一种情况 os.system('ps aux') 执行系统命令,没有返回值 第二种情况 result = os.popen('ps aux') res = resu...

局域网内python socket实现windows与linux间的消息传送

有个需求,就是在windows上看见一篇介绍linux相关的文章,想在局域网内的另外一台linux电脑上尝试一下, 于是就需要把该网页链接发送给linux,不想一点一点敲链接,又苦于没有...

HTML中使用python屏蔽一些基本功能的方法

进行数据解析的理由不计其数,相关的工具和技巧也同样如此。但是,当您需要用这些数据做一些新的事情时,即使有“合适的”工具可能也是不够的。这一担心对于异类数据源的集成同样存在。用来做这项工作...