render_to_string方法中的Django自定义context_processors

2024-03-21

我正在构建一个发送电子邮件的函数,并且需要在电子邮件的 HTML 模板中使用 context_processor 变量,但这不起作用。

Example:

def send_email(plain_body_template_name, html_body_template_name):
    plain_body = loader.render_to_string(plain_body_template_name, context)
    html_body = loader.render_to_string(html_body_template_name, context)
    email_msg = EmailMultiAlternatives(body=plain_body)
    email_msg.attach_alternative(html_body, 'text/html')
    email_message.send()

按照我的习惯context_processor.py我只有一个函数可以接收HttpRequest并返回一个像这样的字典{'foo': 'bar'},在模板中我尝试使用{{foo}}.

我在中添加了 context_processorTEMPLATE['OPTIONS']['context_processors'] too.


假设您正在使用django后端在你的TEMPLATE with

'BACKEND': 'django.template.backends.django.DjangoTemplates',

django 看到你还没有传递请求并选择一个基本的Context包装你的字典而不是RequestContext这将处理context_processors你已经定义了。

你可能可以逃避做

html_body = loader.render_to_string(html_body_template_name, context, request=request)

但您需要传入请求对象。

但这可能没有意义。您是否正在向提出请求的人发送电子邮件?包含上下文是否有意义?

如果您的上下文处理器不需要request然后我要么将其设为一个简单的实用函数(如果仅在此处调用),要么将请求参数设为可选,将其导入到此模块中,然后将其直接添加到上下文中

context = {"my_var": 1} context.update(your_extra_context()) loader.render_to_string(...)

有一些复杂的更新方法Context()分层,但我认为这里没有必要。

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

render_to_string方法中的Django自定义context_processors 的相关文章

  • 如何配置散景图以具有响应宽度和固定高度

    我使用通过组件功能嵌入的散景 实际上我使用 plot sizing mode scale width 它根据宽度进行缩放并保持纵横比 但我想要一个响应宽度但固定或最大高度 这怎么可能实现呢 有stretch both and scale b
  • 使用 GeoDjango 在坐标系之间进行转换

    我正在尝试将坐标信息添加到我的数据库中 添加django contrib gis支持我的应用程序 我正在写一个south数据迁移 从数据库中获取地址 并向 Google 询问坐标 到目前为止 我认为我最好的选择是使用geopy为了这 接下来
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • 用于打印 C/C++ 文件的所有函数定义的 Python 脚本

    我想要一个 python 脚本来打印 C C 文件中定义的所有函数的列表 e g abc c定义两个函数为 void func1 int func2 int i printf d i return 1 我只想搜索文件 abc c 并打印其中
  • Python:如何重构循环导入

    我有件事可以帮你做engine setState
  • 如何通过facebook-sdk python api获取用户帖子?

    我使用 facebook jssdk 授权我的应用程序读取用户个人资料和用户帖子 FB login function response scope user status user likes user photos user videos
  • 获取 zeep.exceptions.ValidationError:缺少与 suds 一起使用的方法的元素

    我正在移植开发的代码suds 0 6到zeep 2 4 0 以前的泡沫代码 client Client WSDLfile proxy proxy faults True config client factory create perUse
  • 出现意外的关键字参数“timeout”(Python 中的 google-cloud-storage)

    使用 google cloud storage 的 Python 项目在本地运行良好 但是当它从 App Engine 运行时 会显示错误 Traceback most recent call last File opt python3 7
  • 如何在Python中正确声明ctype结构+联合?

    我正在制作一个二进制数据解析器 虽然我可以依靠 C 但我想看看是否可以使用 Python 来完成该任务 我对如何实现这一点有一些了解 我当前的实现如下所示 from ctypes import class sHeader Structure
  • 散景中的时间序列流

    我想在散景中绘制实时时间序列 我只想在每次更新时绘制新的数据点 我怎样才能做到这一点 散景网站上有一个动画情节的示例 但它每次都需要重新绘制整个图片 另外 我正在寻找一个简单的示例 我可以在其中逐点绘制时间序列的实时绘图 散景效果0 11
  • 如何在 Spyder IDE 中安装 Selenium 包

    我刚刚在工作中安装了 Spyder IDE 仅 Spyder 不是整个 Anaconda 并且希望使用 FireFox 自动化我的工作 我的问题是 如何安装 Selenium 软件包 I figured it out Here is ins
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • Pandas - 分割大的Excel文件

    我有一个大约有 500 000 行的 Excel 文件 我想将其拆分为多个 Excel 文件 每个文件有 50 000 行 我想用熊猫来做 这样它会是最快和最简单的 有什么想法如何制作吗 感谢您的帮助 假设您的 Excel 文件只有一个 第
  • Django基于PK和另一个字段保存对象

    我正在尝试将 postgresql 中的分区表与 Django 安装一起使用 通过Google搜索主题 我发现Django本身不支持分区 所以我自己对表进行了分区 我根据第二个字段对表进行分区 该字段是另一个表上的外键 基本模型设置如下 c
  • 对 pandas 数据框中的每一列应用函数

    我如何以更多的熊猫方式编写以下函数 def calculate df columns mean self df means for column in df columns columns tolist cleaned data self
  • python 的 fcntl.flock 函数是否提供文件访问的线程级锁定?

    Python 的 fcnt 模块提供了一种名为 flock 1 的方法来证明文件锁定 其描述如下 对文件执行锁定操作op 描述符 fd 文件对象提供 fileno 方法被接受为 出色地 请参阅 Unix 手册集群 2 了解详情 在某些系统上
  • 如何在 Python 中解析损坏的 XML?

    我无法影响的服务器发送的 XML 非常损坏 具体来说 Unicode WHITE STAR 将被编码为 UTF 8 E2 98 86 然后使用 Latin 1 转换为 HTML 实体表 我得到的是 acirc 98 86 9 个字节 位于声
  • 如何指定一个变量作为类或类实例的成员变量?

    在最新的 Python 2 7 x 中 给定类定义内的任何成员变量 该成员变量是否始终处于类级别 因为它是由该类的所有实例共享的单个变量 在类的定义中 如何指定 类定义中的哪些成员变量属于该类 因此由该类的所有实例共享 以及 哪些属于该类的
  • 提供节点名或服务名,或未知

    我收到这个 Python 错误 File Library Frameworks Python framework Versions 2 7 lib python2 7 urllib2 py line 1184 in do open rais
  • 获取长度为 n 的所有(n-选择-k)组合

    我怎样才能获得长度的所有组合 按顺序 n从数字列表中 例如 给定列表 1 2 3 4 并设置n 3 我怎样才能得到这些结果 1 2 3 1 2 4 1 3 4 2 3 4 For combinations of all possible l

随机推荐

  • 如何使用 Python 中的 DLL 文件?

    最简单的使用方法是什么DLL从内部归档Python 具体来说 如何做到这一点without编写任何附加包装器C 向其公开功能的代码Python Native Python与使用第三方库相比 功能更受青睐 为了方便使用 ctypes http
  • 如何解决 CoUnitialize() 上挂起的进程?

    我有一个本机 Visual C NT 服务 当服务启动时 它的线程调用CoInitialize 它将线程附加到 STA 服务线程通过 COM 接口使用 MSXML 当服务接收到SERVICE CONTROL STOP它在消息队列中发布一条消
  • 创建图像蒙版

    用户向我的应用程序提供了一张图像 应用程序需要从中制作一个遮罩 对于原始图像中的每个透明像素 蒙版都包含一个红色像素 我尝试了以下方法 Bitmap OrgImg Image FromFile FilePath Bitmap NewImg
  • 自定义添加到购物车按钮,将多个产品添加到购物车并添加数量:woocommerce

    我想创建自定义 添加到购物车 按钮 将我的 3 个产品添加到购物车 每个产品 2 个数量 为了将三个产品添加到购物车中 我已经使用了这样的方法 a class single add to cart button shop skin btn
  • 如何创建部分发票?

    我想从特定订单中为该订单中的某些选定项目创建发票 我已以编程方式成功为整个订单创建了发票 但我想创建该订单的部分发票 最后我明白了 必须挖 magento 才能得到这个 orderid order id order Mage getMode
  • 使用 asciidoctor 创建自定义 HTML

    我正在使用 CMS 来发布我的博客文章 我正在寻找一种从简单的文本文件离线创建 HTML 文章的方法 这是我通常在文章中使用的一段 HTML p We want to show how you can gather information
  • Spring Boot + 云 | Zuul代理 |集成测试

    当使用 Spring Boot 构建微服务时 可以非常轻松地编写大量且非常易读的集成测试并模拟远程服务请求MockRestServiceServer 有没有办法使用类似的方法来执行额外的集成测试ZuulProxy 我想要实现的是能够模拟远程
  • 为什么 C# 编译器在 IL 中发出额外的操作码?

    如果我有一个方法Multiply定义为 public static class Experiment public static int Multiply int a int b return a b 那么为什么编译器会发出这个IL met
  • Nativescript 错误:执行 webpack 失败,退出代码 1

    我已经在新的 iMac 运行 Big Sur 上按照说明仔细安装了 Nativescript 来自https docs nativescript org environment setup html macos ios https docs
  • 在模态页面表上呈现模态表单表

    在 iPad 上 我使用 modalPresentationStyle UIModalPresentationPageSheet 显示模式视图控制器 该视图控制器使用 modalPresentationStyle UIModalPresen
  • Angular 1.5 组件、ui-router 解析、$onChanges 生命周期挂钩

    在以下示例中 plunker https plnkr co edit ChxommnERTmaULmVRNY8 p preview ui router 状态路由到app组件有一个data对象和一个replace使用给定值用新对象替换该对象的
  • Scala specs2 模拟特征方法总是返回 Nullpointer 异常

    我有一个特征 我想在测试期间模拟并在另一个服务中使用该模拟特征 问题是 当我尝试模拟 indexDocuments 函数的返回值时 我收到 NullpointerException 测试方法 createDemand must return
  • Pandas 删除列包含 * 的行

    我试图删除此 df 中 DB Serial 列包含字符 的所有行 DB Serial 0 13058 1 13069 2 13070 3 13070 4 13044 5 13042 我在用 df df df DB Serial str co
  • 如何在 kotlin 中克隆或复制列表

    如何在 Kotlin 中复制列表 我在用着 val selectedSeries mutableListOf
  • 如何设置 raw_input 的时间限制

    在Python中 有没有一种方法可以在等待用户输入时计算时间 以便在30秒后 raw input 函数自动跳过 The 信号 警报 http docs python org library signal html highlight sig
  • 结构复杂的Git SVN克隆

    我需要将 SVN 存储库克隆到 git SVN 存储库的结构就好像它是存储库的存储库 如下所示 SVNRepo ProjectA branches tags trunk file ProjectB branches tags trunk f
  • 为 Content Delivery Web 服务配置环境数据框架时出错

    我正在为 Content Delivery Web 服务配置环境数据框架 当我在浏览器中点击我的服务 url 时 它会抛出以下错误 应用程序中的服务器错误 找不到声明处理器实现类 com tridion ambientdata proces
  • 期望整数表达式

    我想每 5 秒逐行读取我的文件 这次我只是尝试使用一行 bash 命令来执行此操作 bash 命令是 let X 1 while X lt 20 do cat XXX file head X tail 1 X X 1 sleep 5 don
  • Google Play 服务更新到版本 13 后出现错误

    我该如何解决这个错误 引起原因 java lang illegalargumentException 11 01 11 08 12 845 E AndroidRuntime 28885 引起 java lang IllegalStateEx
  • render_to_string方法中的Django自定义context_processors

    我正在构建一个发送电子邮件的函数 并且需要在电子邮件的 HTML 模板中使用 context processor 变量 但这不起作用 Example def send email plain body template name html