我希望我的冒號(hào)變成破折號(hào)而不是空字符串。我想我可以slugify(self.name.replace(":", "-"))在我的save()方法中添加一些類似的東西,但是那根本不是DRY(我認(rèn)為)。我也可以將該.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))這似乎不是一個(gè)好主意。我該如何使用正則表達(dá)式呢?我該如何使用正則表達(dá)式呢?我如何將此替代綁定到項(xiàng)目,而不是在django包中進(jìn)行呢?
1 回答

SMILET
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
我將slugify在您的項(xiàng)目中實(shí)現(xiàn)所需的更改的自定義功能:
def myslugify(value):
return slugify(value.replace(":", "-"))
您可以在save()模型的方法中使用此功能。這可以使您的代碼免受“魔術(shù)”的困擾slugify,就像其他人期望的那樣以Django實(shí)現(xiàn)的方式工作。
添加回答
舉報(bào)
0/150
提交
取消