当前位置: 首页 > 面试题库 >

如何使Django slugify与Unicode字符串一起正常工作?

戴树
2023-03-14
问题内容

如何防止slugify过滤器剥离非ASCII字母数字字符?(我正在使用Django 1.0.2)

cnprog.com的网址中包含汉字,因此我查看了他们的代码。他们没有slugify在模板中使用,而是在Question模型中调用此方法来获取永久链接

def get_absolute_url(self):
    return '%s%s' % (reverse('question', args=[self.id]), self.title)

他们是不是在撒谎URL?


问题答案:

我在Askbot问答论坛上采用了一个名为unidecode的python软件包,它适用于基于拉丁语的字母,甚至对希腊人来说也很合理:

>>> import unidecode
>>> from unidecode import unidecode
>>> unidecode(u'διακριτικός')
'diakritikos'

它对亚洲语言有些奇怪:

>>> unidecode(u'影師嗎')
'Ying Shi Ma '
>>> 

这有意义吗?

在askbot中,我们按如下方式计算段塞:

from unidecode import unidecode
from django.template import defaultfilters
slug = defaultfilters.slugify(unidecode(input_text))


 类似资料:
  • 我正在尝试制作一个反应式,它在实际服务器交换之前和之后执行内容(即处理请求的控制器代码): 对于返回Mono的简单GET请求,一切都按预期工作: 但是当控制器收到一个注释为的参数时,会发生一些真正意想不到的事情。例如,一个接受

  • 问题内容: 您能否详细说明Python中字节字符串和Unicode字符串之间的区别。我读过这个: 字节码只是将源代码转换为字节数组 这是否意味着Python具有自己的编码/编码格式?还是使用操作系统设置?我不明白 你能解释一下吗?谢谢! 问题答案: 没有python不使用自己的编码。它将使用它有权访问并指定的任何编码。中的字符代表一个unicode字符。但是,要表示256个以上的字符,单个unic

  • 问题内容: 我用这个: 但是Python 3出现了错误(或者…也许我只是忘了包含一些东西): 谢谢。 问题答案: 在Python3中,文字字符串默认为unicode。 假设这是一个对象,只需使用 的Python2等效于Python3,因此您还可以编写: 若你宁可。

  • 我对scrollview和GeometryReader有一些问题。我想要一张图片下的物品清单。每个项目都应该有以下宽度和高度: 我为我的用例尝试了两种方法。这是我的第一个代码结构: 我正在使用几何体读取器来获取VStack的宽度,因为它有一个填充,我不想获得滚动视图的全宽。 但对于GeometryReader,UI上只显示ForEach循环中的最后一项。而GeometryReader只有很小的高度

  • 问题内容: 我的代码: 引用的日志文件是: 然后,需要检查脚本中的下一个条件是: 如果条件不起作用 问题答案: 必要的修复: 此后已在问题中解决。 可能必要的修复: 如注释中所述,在脚本中使用尾随空格表示将尾随空格存储在其中,这将破坏与的比较。

  • 问题内容: 我正在尝试使用Unicode字符执行查询。我可以通过在查询之前添加常规的相等查询(例如:)。但这在我尝试使用时似乎不起作用。关于如何进行这项工作的任何想法? 查询样例: 另外,如何知道SQL Server使用哪种编码来存储或数据类型,以及如何使用哪种编码在SQL编辑器中显示查询? 编辑:我不好。这实际上有效。我尝试在错误的窗口中执行查询。但是,这样做的好处是我了解了SQL Server