gpt4 book ai didi

django - 如何阻止 Django 模板 render_to_string 尝试将 unicode 编码为 ascii?

转载 作者:行者123 更新时间:2023-12-04 05:01:56 24 4
gpt4 key购买 nike

我有一个模型“事件”,具有以下属性:

desc = models.TextField(blank=True, null=True)

当模型的一个实例被保存时,它似乎将特殊字符转换为unicode,例如左双引号变成“\u201c”。稍后,我在模板中引用 {{ event.desc }} (工作正常),但是当我将模板呈现为字符串时,我得到一个“UnicodeEncodeError”。对于上下文,我试图将一些简单的 HTML 呈现为一个字符串,以便发布到 API。

我如何呈现模板:
description = render_to_string('event_description.html', {'event': self})

以及由此产生的错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u201c' in position 845: ordinal not in range(128)

有没有办法阻止 render_to_string 编码为 ascii,或者更合适的方法来阻止这个错误?

最佳答案

听起来好像有一个 .encode()某个试图对 u'\u201c' 进行编码的地方到 ascii 并失败。
您可以检查回溯以找到该行并将其更改为显式 .encode('utf8') .
或者将 Python 系统的默认编码更改为 'utf-8': ref here & here .

关于django - 如何阻止 Django 模板 render_to_string 尝试将 unicode 编码为 ascii?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16063631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com