2015-02-05 65 views
-1

我想知道如何在django中製作阿塞拜疆/波斯字符串的slu??我想實現是建立類似蛞蝓:如何在Django中創建阿拉伯字符的slu??

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

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

也就是說,所有的空格,逗號和括號需要轉換爲連字符。

+0

當您使用'lugify'時會發生什麼?輸出是否保持不變?所有非拉丁字符都被剝離了嗎? – 2015-02-05 22:20:18

+0

什麼?沒有!讓你的問題自成一體。顯示你曾經嘗試過的。 – 2015-02-05 22:29:26

+0

回去,讀我的第一條評論,回答我問的問題。你能告訴我們,當你用阿拉伯字母嘗試'slugify'時會發生什麼?我無法輸入它們。向我們展示一些嘗試。 – 2015-02-05 22:35:06

回答

1

好的,感謝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) 

注: 此行應出席的的beginign module.py

# -*- coding: utf-8 -*- 

否則你可能會得到這樣的錯誤:

SyntaxError: Non-ASCII character ...