首页 > 解决方案 > 删除特殊字符并用“-”替换空格

问题描述

我正在尝试创建一个可以出现在 URL 中的目录。我想确保它不包含任何特殊字符并用连字符替换任何空格。

from os.path import join as osjoin
def image_dir(self, filename):
    categorydir = ''.join(e for e in  str(self.title.lower()) if e.isalnum())
    return "category/" + osjoin(categorydir, filename)

它正在删除特殊字符,但是我想.replace(" ", "-")用连字符替换空格

标签: pythondjangopython-3.xdjango-models

解决方案


最好的方法可能是使用slugify将任何字符串作为输入并返回与 URL 兼容的函数的函数,您的不是 URL,但它可以解决问题,例如:

>>> from django.utils.text import slugify
>>> slugify(' Joel is a slug ')
'joel-is-a-slug'

推荐阅读