Django 通过urlize时字符串崩溃

Django 通过urlize时字符串崩溃,django,Django,当我试图传递包含诸如íóúñ等字符的文本字段的内容时,它崩溃了。我尝试过使用string.encode('utf-8')并将#encoding:utf-8放在视图文件和具有urlize过滤器的文件的顶部。知道我能做什么吗?根据,urlize将文本中的URL转换为可点击的链接。根据,URL只能包含“US-ASCII编码字符集的图形可打印字符” 您提到的字符不是所需ASCII子集的一部分,因此urlize可能会失败。您需要转义输入以删除这些字符。UTF-8对HTML文档的内容有效,但对URL无效 您

当我试图传递包含诸如íóúñ等字符的文本字段的内容时,它崩溃了。我尝试过使用string.encode('utf-8')并将#encoding:utf-8放在视图文件和具有urlize过滤器的文件的顶部。知道我能做什么吗?

根据,
urlize
将文本中的URL转换为可点击的链接。根据,URL只能包含“US-ASCII编码字符集的图形可打印字符”

您提到的字符不是所需ASCII子集的一部分,因此
urlize
可能会失败。您需要转义输入以删除这些字符。UTF-8对HTML文档的内容有效,但对URL无效


您的UTF-8内容可以使用此处的代码段转换为ASCII:

请定义“it崩溃”。您收到错误消息了吗?请发布相关的代码片段,以便我们提供具体的指导。@George,这是我收到的错误消息“UnicodeEncodeError异常值:'ascii'编解码器无法对位置13-15的字符进行编码:序号不在范围内(128)”这是我在views.py str(linebreaks(urlize(p.content)))中所做的。我刚刚尝试过这个,但是没有效果:STRE(RuleScript(UpLIZE(P.内容,没有,false,true))请参阅我对代码链接的更新答案以帮助转换。因此,在发送到ULIZE之前,我应该强迫它进入U-ASCII,我怎样才能做到这一点?@ MADPROPS:在您这样做之前,考虑输出。如果您强制将特定文本转换为ASCII,那么生成的URL是否有效?@madprops:另外,回答我的原始注释会很有帮助。它现在不会崩溃,但会删除非ASCII字符,我需要它们。我做到了。encode('ascii','ignore')@madprops:那么你就陷入了僵局
urlize
仅适用于ASCII输入,但您说需要非ASCII字符。您必须选择是使用urlize,还是保留非ASCII字符。