我希望我的冒号变成破折号而不是空字符串。我想我可以slugify(self.name.replace(":", "-"))在我的save()方法中添加一些类似的东西,但是那根本不是DRY(我认为)。我也可以将该.replace()操作直接添加到django.utils.text.slugifydef slugify(value): value = unicodedata.normalize('NFKD', value).encode('ascii', 'ignore').decode('ascii') value = value.replace(":", "-") value = re.sub('[^\w\s-]', '', value).strip().lower() return mark_safe(re.sub('[-\s]+', '-', value))这似乎不是一个好主意。我该如何使用正则表达式呢?我该如何使用正则表达式呢?我如何将此替代绑定到项目,而不是在django包中进行呢?
1 回答
SMILET
TA贡献1796条经验 获得超4个赞
我将slugify在您的项目中实现所需的更改的自定义功能:
def myslugify(value):
return slugify(value.replace(":", "-"))
您可以在save()模型的方法中使用此功能。这可以使您的代码免受“魔术”的困扰slugify,就像其他人期望的那样以Django实现的方式工作。
添加回答
举报
0/150
提交
取消