2015-02-05 1 views
-1

Мне интересно, как сделать пули из арабских/персидских струн в джанго? То, что я пытаюсь добиться, чтобы создать слизней, как:Как создать пули в арабских персонажах в Django?

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

из این یک تیتر است

То есть, все пробелы, запятые и скобки должны быть преобразованы в дефисы.

+0

Что происходит, когда вы используете 'slugify'? Является ли выход неизменным? Все ли не латинские символы лишены? –

+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 из module.py

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

в противном случае вы можете получить сообщение об ошибке, как:

SyntaxError: Non-ASCII character ...