亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django,如何覆蓋slugify函數

Django,如何覆蓋slugify函數

手掌心 2021-03-15 12:09:24
我希望我的冒號變成破折號而不是空字符串。我想我可以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實現的方式工作。


查看完整回答
反對 回復 2021-03-29
  • 1 回答
  • 0 關注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號