2015-02-05 7 views
-1

장고에서 아랍어/페르시아어 문자열에서 슬러그를 만드는 방법을 궁금합니다. 무엇을 달성하려고하는 것은 같은 슬러그 만드는 것입니다 :이다 این یک تیتر استDjango에서 아랍어 문자로 슬러그를 만드는 방법은 무엇입니까?

에서

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

을, 모든 공백, 쉼표 및 괄호는 하이픈으로 전환 될 필요가있다.

+0

''슬러그'를 사용할 때 어떻게됩니까? 출력은 변경되지 않습니까? 모든 비 라틴 문자가 제거 되었습니까? –

+0

무엇? 아니! 귀하의 질문을 자급 자족하십시오. 너가 시도한 것을 보여라. –

+0

돌아가서 첫 번째 의견을 읽고 질문 한 내용에 답하십시오. 아랍 문자를 사용하여 '슬러시'하려고 할 때 정확히 어떻게되는지 보여줄 수 있습니까? 나는 그들을 타이핑 할 능력이 없다. 우리에게 몇 가지 시도를 보여주십시오. –

답변

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에 존재해야한다

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

그렇지 않으면 당신과 같은 오류가 발생할 수 있습니다 module.py :

SyntaxError: Non-ASCII character ... 
관련 문제