Django 使用 locals() [重复]

2024-02-28

我是 Django Web 开发的初学者。我注意到locals()使用函数代替我习惯看到的上下文字典。

据我在网上看到的locals()非常有用,那么是否有任何特殊情况,这不是真的,最好使用context_dictionary?


Using locals()在该教程中只是为了方便,因为他需要传递给模板的所有数据都存储在局部变量中。locals()返回一个包含局部变量名称(作为键)和当前值(作为值)的字典。

您需要使用显式 context_dictionary,而不是传递locals(),如果您必须构建数据并且在单独的变量中没有此类数据。

both locals()context_dictionary 是字典,这是唯一的要求:一个类似字典的对象(即支持__getitem__(key) and get(key, default=None)方法)。如何获取词典取决于您。没有这方面的实践,但替代方案是:

  • 返回一个RequestContext(),这是一个类似字典的对象,如果你使用CONTEXT_PROCESSORS.
  • Return locals()如果您的局部变量中有数据。
  • 否则,请返回带有您的数据的手工字典。

EDIT- 例子:

自己构建字典的示例:

def my_view(request):
    return render_to_response('hello.html', {
        'full_name': u"%s %s" % (request.user.first_name, request.user.last_name),
        'username': request.user.username
    })

构建字典的示例locals():

def my_view(request):
    full_name = u"%s %s" % (request.user.first_name, request.user.last_name)
    username = request.user.username

    return render_to_response('hello.html', locals())

假设 hello.html 是 - 在任何一种情况下:

<html>
    <body>
        You are {{ full_name }} ({{ username }})
    </body>
</html>

你会得到预期的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 使用 locals() [重复] 的相关文章

  • 如何迭代按值排序的 Python 字典?

    我有一本字典 比如 a 6 b 1 c 2 我想迭代一下by value 不是通过键 换句话说 b 1 c 2 a 6 最直接的方法是什么 sorted dictionary items key lambda x x 1 对于那些讨厌 la
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • 如何使用 Plotly 中的直方图将所有离群值分入一个分箱?

    所以问题是 我可以在 Plotly 中绘制直方图 其中所有大于某个阈值的值都将被分组到一个箱中吗 所需的输出 但使用标准情节Histogram类我只能得到这个输出 import pandas as pd from plotly import
  • 如何使用 imaplib 获取“消息 ID”

    我尝试获取一个在操作期间不会更改的唯一 ID 我觉得UID不好 所以我认为 Message ID 是正确的 但我不知道如何获取它 我只知道 imap fetch uid XXXX 有人有解决方案吗 来自 IMAP 文档本身 IMAP4消息号
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • Pandas 数据帧到 numpy 数组 [重复]

    这个问题在这里已经有答案了 我对 Python 很陌生 经验也很少 我已经设法通过复制 粘贴和替换我拥有的数据来使一些代码正常工作 但是我一直在寻找如何从数据框中选择数据 但无法理解这些示例并替换我自己的数据 总体目标 如果有人真的可以帮助
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 以同步方式使用 FastAPI,如何获取 POST 请求的原始正文?

    在中使用 FastAPIsync not async模式 我希望能够接收 POST 请求的原始 未更改的正文 我能找到的所有例子都显示async代码 当我以正常同步方式尝试时 request body 显示为协程对象 当我通过发布一些内容来
  • 在Python中调整图像大小

    我有一张尺寸为 288 352 的图像 我想将其大小调整为 160 240 我尝试了以下代码 im imread abc png img im resize 160 240 Image ANTIALIAS 但它给出了一个错误TypeErro
  • 如何通过在 Python 3.x 上按键来启动和中断循环

    我有这段代码 当按下 P 键时会中断循环 但除非我按下非 P 键 否则循环不会工作 def main openGame while True purchase imageGrab if a sum gt 1200 fleaButton ti
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • 首先对列表中最长的项目进行排序

    我正在使用 lambda 来修改排序的行为 sorted list key lambda item item lower len item 对包含元素的列表进行排序A1 A2 A3 A B1 B2 B3 B 结果是A A1 A2 A3 B
  • 将 JSON 对象传递给带有请求的 url

    所以 我想利用 Kenneth 的优秀请求模块 https github com kennethreitz requests 在尝试使用时偶然发现了这个问题自由库API http wiki freebase com wiki API 基本上
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • 如何在 python 中没有 csv.reader 迭代器的情况下解析单行 csv 字符串?

    我有一个 CSV 文件 需要重新排列和重新编码 我想跑 line line decode windows 1250 encode utf 8 在由 CSV 读取器解析和分割之前的每一行 或者我想自己迭代行 运行重新编码 并仅使用单行解析表单
  • 使用 NumPy 将非均匀数据从文件读取到数组中

    假设我有一个如下所示的文本文件 33 346 1223 10 23 11 23 12 23 13 23 14 23 15 23 16 24 10 24 11 24 12 24 13 24 14 24 15 24 16 25 14 25 15
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • 如何为每个屏幕添加自己的 .py 和 .kv 文件?

    我想为每个屏幕都有一个单独的 py 和 kv 文件 应通过 main py main kv 中的 ScreenManager 选择屏幕 设计应从文件 screen X kv 加载 类等应从文件 screen X py 加载 Screens
  • 如何读取Python字节码?

    我很难理解 Python 的字节码及其dis module import dis def func x 1 dis dis func 上述代码在解释器中输入时会产生以下输出 0 LOAD CONST 1 1 3 STORE FAST 0 x

随机推荐

  • 如何查找违反引用完整性的记录

    我有两个表应该处于一对多关系 但表的多侧似乎有一些记录阻止创建关系 违反引用完整性 由于两个表中都有很多记录 是否有一种方法可以查询哪些记录位于多侧 而不是一侧 Ex Table 1 one side pk AccountId Table
  • Clojure STM ( dosync ) x Java 同步块

    Clojure STM dosync 方法和Java同步块有什么区别 我正在阅读 睡觉的理发师 问题中的以下代码 http www bestinclass dk index clj 2009 09 scala vs clojure roun
  • 如何在 Django 中使用新数据库重新开始?

    我删除了我的数据库 我想用一个新的数据库重新开始 我怎样才能做到这一点 我尝试创建一个新的数据源 但在应用迁移 或迁移时出现错误 无法找到表 这是真的 因为它是一个空数据库 当有人提取我的代码版本时 也会出现类似的情况 他不会有迁移或数据库
  • RMagick + Rails + Heroku?

    我想弄清楚如何在我的应用程序上使用 rmagick 然后使其在 Heroku 上运行 对于 Rails3 您必须添加此规范 gem rmagick 2 12 0 require gt RMagick 注意 要求区分大小写
  • 序言中的谓词

    我需要在 prolog 中定义一个谓词 它将一个列表作为输入 对 gt 5 的数字的平方求和 并减去 这就是我目前所拥有的 pred 0 pred Head Tail Result gr85 Head pred Tail Total Res
  • 使用 scan!() 读取 u8 时出现“宏未定义”

    我读到有关读取整数输入的内容如何在 Rust 1 0 中读取用户输入的整数 https stackoverflow com questions 30355185 how to read an integer input from the u
  • 使用 Nuxt.js 进行开发和生产的不同 baseURL

    如何为开发和生产添加不同的baseURL 这是目前我的 nuxt config js module exports mode universal axios See https github com nuxt community axios
  • 为什么 Karma 配置文件排除选项不起作用?

    我的示例 Angular 应用程序中有两个规范文件 规格文件名称是src app app component spec ts src app app component two spec ts 我只想运行文件中的测试src app app
  • Sidekiq - 重新安排失败的作业

    我有一个后台工作 使用 Sidekiq 连接到我的另一个服务 如下所示 def perform id user ABCClient instance user id end 有时这个 ABCClient 会宕机 在这种情况下我想重新安排 执
  • 如何使用 Django-oauth-toolkit 进行身份验证,通过 Django-rest-framework 测试 API 端点

    我有一个 Django rest framework 视图集 路由器来定义 API 端点 视图集定义如下 class DocumentViewSet viewsets ModelViewSet permission classes perm
  • 如何检查 MongoDB 中的数组字段是否包含唯一值或另一个数组?

    我现在用的是mongodb 我有一个博客文章集 它有一个tags字段是一个数组 例如 blogpost1 tags tag1 tag2 tag3 tag4 tag5 blogpost2 tags tag2 tag3 blogpost3 ta
  • Android / 9-patch PNG:如果我需要像 11-patch PNG 这样的东西怎么办?

    在 Draw 9 patch 中 一切看起来都很好 However 我的 SDK 说 9 patch png 格式错误 因为我有类似 11 patch png 的东西 因为我不希望小抓取区域被缩放 如何让它发挥作用 截图描述了一切 控制台中
  • NodeJs:缓慢的 req.pipe

    我发现 tus 的服务器实现 https tus io https tus io 对于nodejs https github com tus tus node server https github com tus tus node ser
  • gevent 和 posgres:异步连接失败

    我正在使用 gevent 处理基于 Django 的 Web 系统上的 API I O 我已经使用以下方法进行了猴子补丁 import gevent monkey gevent monkey patch socket 我已经使用以下方法修补
  • Web、应用程序和移动编程之间的主要技术区别是什么?

    我想知道Web ASP PHP Ruby等 之间的主要技术区别是什么 应用程序 C C NET Java 和移动 J2ME Objective C 编程 这是最难的 如果有人学会了其中之一 他可以轻松地切换到其他之一吗 首先 从一个技术的从
  • Android 共享图片不起作用

    我正在尝试使用以下代码共享应用程序的屏幕截图 View content findViewById R id layoutHome content setDrawingCacheEnabled true Bitmap bitmap conte
  • Plotly Dash 中心 dcc.输入文本字段

    我在弄清楚居中需要哪些样式参数时遇到了很多困难dash core components Input我的页面中间的文本字段 import dash import dash core components as dcc import dash
  • NSNumberFormatter 不允许输入十进制数字

    我对 NSNumberFormatter 的使用感到非常困惑 这应该非常简单 但我无法让它工作 我想设置一个 NSTextField 以允许输入带小数点或不带小数点的十进制数字 这是我认为可行的 NSNumberFormatter form
  • 从现有 Makefile 创建 CMakeLists 文件

    我想用cmake为 C 项目生成构建文件 我有一个现有的Makefile 我在生成这个时遇到问题Makefile使用标准cmake句法 如何包含标准 C 库 例如 lstdc lpthread lboost thread mt in the
  • Django 使用 locals() [重复]

    这个问题在这里已经有答案了 我是 Django Web 开发的初学者 我注意到locals 使用函数代替我习惯看到的上下文字典 据我在网上看到的locals 非常有用 那么是否有任何特殊情况 这不是真的 最好使用context dictio