`
54yuri
  • 浏览: 28206 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

locals() 在django当中的一处妙用

阅读更多
从django的manual 当中看到的

def current_datetime(request):
    now = datetime.datetime.now()
    return render_to_response('current_datetime.html', {'current_date': now})


很多时候,就像在这个范例中那样,你发现自己一直在计算某个变量,保存结果到变量中
(比如:前面代码中的 now ),然后将这些变量发送给模板。特别懒的程序员可能注意到给
这些临时变量 和 模板变量命名显得有点多余。不但多余,而且还要进行额外的键盘输入。
如果你是个喜欢偷懒的程序员并想让代码看起来更加简明,可以利用 Python 的内建函数
locals() 。它返回的字典对所有局部变量的名称与值进行映射。因此,前面的视图可以重写
成下面这个样子:
def current_datetime(request):
    current_date = datetime.datetime.now()
    return render_to_response('current_datetime.html', locals())






而且,虽然locals()返回的是一份拷贝,但是依然可以往里面赋值,就像使用map一样,

l = locals()

l["x"] = 111

l["y"] = 222



尽管不能print x,print y, 但是

需要的时候调用那个假的x,或者y的时候, 写上locals()就行比如print locals(),就能看到x,y了
分享到:
评论

相关推荐

    Django中使用locals()函数的技巧

    在Django开发中,合理使用`locals()`函数可以提高代码的简洁性和可读性。特别是在需要传递多个变量给模板时,它可以极大地简化代码结构。然而,使用时也应注意控制变量范围,确保不会无意间暴露敏感信息。总的来说,...

    详解Django中views数据查询使用locals()函数进行优化

    本文将深入探讨如何在Django的视图(views)中使用`locals()`函数来优化数据查询流程,并通过具体的示例代码来展示这一优化过程。 #### 二、背景与问题分析 在Django中,视图是处理HTTP请求并将响应返回给客户端的...

    The Django Book.pdf

    - **Django的历史**:Django是由Adrian Holovaty和Simon Willison在2005年为了满足新闻网站开发需求而创建的一个开源框架。 - **如何阅读本书**:本书适合有一定Python基础并对Web开发感兴趣的读者。建议按照章节...

    Django验证码库DjangoCaptcha.zip

    在django中生成英文单词验证码,提供验证码图片生成,检查验证码等功能 原用于pythoner.net的验证码,现整理出来打包发布到pypi. 新特性 新增数字验证码模式 字体尺寸根据图片长宽自适应 Usage Install pip...

    Django中的forms组件实例详解

    在Django框架中,forms组件是一个强大的工具,用于处理用户输入和验证数据。它简化了创建HTML表单、处理POST请求以及验证用户提交的数据的过程。本文将深入探讨Django forms组件,通过实例代码来帮助理解其核心功能...

    Django choices下拉列表绑定实例

    本文将详细介绍如何在Django中使用`choices`属性来创建并绑定下拉列表,并通过具体的代码示例来展示这一过程。 #### Django Choices 基础概念 在Django的表单(form)中,`ChoiceField`是一个特殊的字段类型,用于...

    flake8-django:一个flake8插件,用于检测Django项目上的不良做法

    一个flake8插件,用于检测Django项目上的不良做法。 安装 通过以下方式从pip安装: $ pip install flake8-django 测验 flake8-django使用pytest进行测试。 要运行它们,请使用: $ pytest 使用以下内容生成覆盖率...

    django总结.txt

    在 Django 中,模型是数据库表的抽象表示。模型由多个字段组成,每个字段代表数据库表中的一个列。例如,以下代码展示了如何定义一个名为 `Student` 的模型类: ```python class Student(models.Model): stuName =...

    如何在django中实现分页功能

    这里使用了`{{ current_page }}`和`{{ total_page }}`这两个变量,它们将在后端Django视图函数中计算得出。 #### 二、后端处理 在Django后端,我们需要做如下几件事: 1. 获取URL中的页码参数。 2. 定义每页显示的...

    Django 外键的使用方法详解

    在Django框架中,外键(Foreign Key)是一种用于建立两个模型之间关系的数据类型,它允许你在一张表中引用另一张表的主键。在上述的描述中,我们看到外键被用来链接歌曲操作(如下载次数、浏览次数)与歌曲信息这两...

    django foreignkey外键使用的例子 相当于left join

    在Django模型中,外键(ForeignKey)是一种用来实现数据库表之间一对多关系的字段类型。当一个模型被定义为使用ForeignKey时,它在数据库层面创建了一个外键约束,允许我们访问与之关联的对象。 在Django的ORM...

    Django实现分页显示效果

    在Web开发中,对数据集进行分页显示是一个常见的需求,Django通过提供Paginator类来简化分页的实现。下面将详细介绍如何在Django框架中实现分页显示效果。 首先,需要导入Django的Paginator类及相关异常处理类。在...

    django的分页器Paginator 从django中导入类

    本文将详细介绍如何在Django项目中使用`Paginator`来实现数据的分页处理。 #### 二、准备工作 在开始之前,我们需要确保已经完成以下步骤: 1. **环境搭建**:确保已经安装了Django并创建了一个项目和应用。 2. *...

    Django实现快速分页的方法实例

    在Django中,实现分页主要依赖于`django.core.paginator`模块中的`Paginator`类。该类负责将数据集分割成多个页面,每个页面包含一定数量的数据。通常情况下,开发者会根据用户请求的页码来获取相应的页面数据,并将...

    Django实现发送邮件找回密码功能

    本文将详细介绍如何使用Python的Django框架实现这一功能,特别是通过发送带有验证码的邮件来验证用户身份。 首先,找回密码的流程通常包括以下几个步骤: 1. 用户在登录界面点击“忘记密码”链接。 2. 系统生成一...

    django中的HTML控件及参数传递方法

    - 在Django后端,通常会有一个视图(view)来处理前端发送的数据。视图函数可以通过request.POST字典来获取前端通过"post"方法发送的数据。例如: ```python def receive_data(request): if request.POST: ...

    Django实现图片上传功能步骤解析

    在Django框架中实现图片上传功能是一个常见的需求,下面我们将详细解析这一过程,分为四个主要步骤。 1. **创建HTML表单**: HTML表单是用户上传图片的基础。表单需要包含`<form>`标签,指定`action`属性为处理...

Global site tag (gtag.js) - Google Analytics