如何防止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 Q&A论坛上采用了一个名为unidecode的python软件包,它适用于基于拉丁语的字母,甚至对于希腊人来说也很合理:
>>> import unidecode
>>> from unidecode import unidecode
>>> unidecode(u'διακριτικός')
'diakritikos'
它对亚洲语言有些奇怪:
>>> unidecode(u'影師嗎')
'Ying Shi Ma '
>>>
这有意义吗?
在askbot中,我们像这样计算compute:
from unidecode import unidecode
from django.template import defaultfilters
slug = defaultfilters.slugify(unidecode(input_text))
关于python - 如何使Django slugify与Unicode字符串一起正常工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/702337/