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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

python实现C4.5决策树算法

python实现C4.5决策树算法

C4.5算法使用信息增益率来代替ID3的信息增益进行特征的选择,克服了信息增益选择特征时偏向于特征值个数较多的不足。信息增益率的定义如下: # -*- coding: utf-...

对python 通过ssh访问数据库的实例详解

通常,为了安全性,数据库只允许通过ssh来访问。例如:mysql数据库放在服务器A上,只允许数据库B来访问,这时,我们需要用机器C去访问数据库,就需要用C通过ssh连接B,再访问A。 通...

Python3.7 新特性之dataclass装饰器

Python 3.7中一个令人兴奋的新特性是 data classes 。 数据类通常是一个主要包含数据的类,尽管实际上没有任何限制。 它是使用新的 @dataclass 装饰器创建的,...

用Python进行一些简单的自然语言处理的教程

本月的每月挑战会主题是NLP,我们会在本文帮你开启一种可能:使用pandas和python的自然语言工具包分析你Gmail邮箱中的内容。 NLP-风格的项目充满无限可能: &nbs...

Python可变参数会自动填充前面的默认同名参数实例

最近在学习Python的时候遇到一个知识点,在此记录下来 可变参数会自动填充前面的同名默认参数 比如下面这个函数 def add_student(name="Bob", **info...