gpt4 book ai didi

python - 包含 Unicode 字符的单词不会出现在 HTML 输出中

转载 作者:太空宇宙 更新时间:2023-11-03 17:55:15 25 4
gpt4 key购买 nike

我使用 Django 1.7.1 和 Python 2.7,当我尝试将 ñ 等西类牙语字符或带锐音符的元音(á、é 等)传递给我的模板时,整个字符串不会出现在浏览器中(或者在 HTML 中)。我已经尝试了立即解决方案,即把

# -*- coding: utf-8 -*-

在我的views.py并且还放了

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

在我的模板中,但字符仍然没有出现。值得一提的是,网页加载没有错误,只有带有西类牙语单词的字符串不会出现。

编辑 1

我的views.py文件看起来像

# -*- coding: utf-8 -*-
from django.shortcuts import render
from django.shortcuts import render_to_response
from django.template import RequestContext
# Create your views here.

def main_page(request):
return render_to_response(
'index.html', RequestContext(request,{
'country':'Perú',
})
)

和我的模板 index.html

<!DOCTYPE HTML>
<html>
<head>
<title>Webpage</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1> {{ country }}</h1>
</body>
</html>

浏览器显示一个空的 <h1> </h1>标签

已解决

我改变了# -*- coding: utf-8 -*-通过# -*- coding: iso-8859-15 -*-并输入 'country': u'Perú'而不是'country': 'Perú'

标签

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

模板中不需要

最佳答案

您的问题是 render_to_response 的第二个参数是作为上下文传递的字典,但您是直接传递上下文。

您可以通过两种方式解决此问题;

  1. 建议的修复方法是仅使用 render,如下所示:

    def main_page(request):
    return render(request, 'index.html', {'country': u'Perú'})
  2. 如果您想使用render_to_response,您需要限定第二个参数:

    return render_to_response('index.html',
    context_instance=RequestContext(request,
    {'country': u'Perú'}))

关于python - 包含 Unicode 字符的单词不会出现在 HTML 输出中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28554609/

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