我想知道如何用django中的阿拉伯语/波斯语字符串制作slug?我想要实现的是创建像:
这样的slu ..این-یک-تیتر-است
این یک تیتر است
也就是说,所有空格,逗号和括号都需要转换为连字符。
答案 0 :(得分:2)
好的,感谢python的优秀字符串库,结果比我想象的要容易。只需要定义一个这样的函数:
def slugify(str):
str = str.replace(" ", "-")
str = str.replace(",", "-")
str = str.replace("(", "-")
str = str.replace(")", "")
str = str.replace("؟", "")
return str
然后在你的模型课中你应该有一个像:
这样的函数def save(self, *args, **kwargs):
self.slug = slugify(self.title)
注意:强> 该行应出现在module.py
的开头# -*- coding: utf-8 -*-
否则您可能会收到如下错误:
SyntaxError: Non-ASCII character ...
答案 1 :(得分:0)
您可以使用awesome-slugify
from slugify import slugify_unicode
print(slugify_unicode('این یک تیتر است'))