金字塔应用程序的版权符号

2024-05-17 10:12:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在金字塔应用程序的视图方法的输出中包含版权符号。这就是字面上的方法:

def get_cpyright(self):
    cpyright = ["My Super App © 2012"]
    if (datetime.datetime.now().year > 2012):
        cpyright.append(" - %d " % datetime.datetime.now().year)
    return " ".join(cpyright)

但是,当它呈现给应用程序时,网页显示:

My Super App © 2012

在纯web开发中,我可以使用©或{}我将得到©字符。在元组中呈现字符串时,情况并非如此。在

我怎样才能让版权标志出现?我在金字塔的文件上看到了,所以我知道这是可能的。在


Tags: 方法视图app应用程序datetimemydef版权
3条回答

原因是模板变量被转义为HTML上下文,而&;copy;被转义到&;copy;。在

如果你使用变色龙模板,你可以使用${结构:变量}避免在显示时被转义(因为您已经在方法中转义了)。也可以将其包装在一个对象中,该对象具有一个返回内容的\uuhtml_uu方法。有关详细信息,请参见In Pyramid, how do I return raw HTML from a view?。在

在源代码文件中弄乱编码比你想象的要容易。试着在一堆不同的编辑器中打开它,你迟早会破坏编码的。在

我只想这么做:

print unichr(169)

编辑您的函数时,我会将您的第一行替换为:

^{pr2}$

为什么不just make the Python file unicode,确保输出的html是一个适当的编码,并像这样写版权符号?在

def get_cpyright(self):
    cpyright = [u"My Super App © 2012"]
    if (datetime.datetime.now().year > 2012):
        cpyright.append(" - %d " % datetime.datetime.now().year)
    return " ".join(cpyright)

相关问题 更多 >