python - 如何在 Django 中用阿拉伯字符创建 slug?

我想知道如何在 Django 中用阿拉伯语/波斯语字符串制作 slug?我想要实现的是创建像这样的 slug:

این-یک-تیتر-است

出于 این یک توتر است

即所有空格、逗号和括号都需要转换为连字符。

最佳答案

好吧,感谢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 ...

https://stackoverflow.com/questions/28355037/

相关文章:

c# - 生成员工卡

assembly - 汇编语言中的 or 和 ori 有什么区别?

jakarta-ee - 如何进行 payara netbeans 集成

Python3 - 字符串的最后一个字符

angularjs - 使用angularjs突出显示表格行

xml - 使用 XSD 验证 XML 中的自定义日期和时间

html - 如何向 erb 中的字符串添加空格?

apache-storm - Storm 用户界面不工作

java - try-with-resource资源创建的执行顺序

scala - Scala 中 N 的三和