我有一個模型,「事件」,具有以下屬性:如何阻止Django模板render_to_string嘗試將unicode編碼爲ascii?
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,或者一些更合適的方式來防止這種錯誤?
這贏得了」這是通過創建名爲'nome_servidor'背景下的新參數,並明確事先編碼它解決解決問題。這設置了python源代碼的編碼,並且完全不影響模板。 –