У меня есть проб.Я пытаюсь создать пользовательскую функцию slugify.Я использую django.autoslug .Благодаря документации autoslug мне удалось создать собственный slugifier, но его нужно улучшить, и я не знаю, как мне это понять.
Итак, у меня есть строка (название книги), то есть .NET Framework 4.0 with C# & VB in VisualStudio 2010
.Я хочу slugify так, чтобы это выглядело так: dotnet-framework-4point0-with-cshapr-and-vb-in-visualstudio-2010
Моя текущая функция выглядит так:
def custom_slug(value, *args, **kwargs):
associations_dict = {'#':'sharp', '.':'dot', '&':'and'}
for searcg_char in associations_dict.keys():
if search_char in value:
value = value.replace(search_char, associations_dict[search_char])
return def_slugify(value)
Как видите, моя функция заменяет все точки .
с 'dot'
.Таким образом, моя строка будет изменена на dotnet-framework-4dot0-with-csharp-and-vb-in-visualstudio-2010
Я предлагаю, я должен использовать RegEx, но я не знаю, как это сделать и как заменить совпадающую строку на правильную 'точка / точка-замена'
Идеи?!
PS Извините за плохой английский