URL之slug处理

为了生成一个可读性更强、对用户和搜索引擎更友好的固定链接,可以考虑把标题转换成英文或拼音,使用处理后的标题(即slug)构建固定链接。

import re
from unidecode import unidecode

_punct_re = re.compile(r'[\t ! "#$%&\'()*\-/<=>? @\[\\\]^_`{|}, .]+')


def slugify(text, delim=u'-'):
    """Generates an ASCII-only slug."""
    result = []
    for word in _punct_re.split(text.lower()):
        result.extend(unidecode(word).lower().split())
    return unidecode(delim.join(result))
 
 slugify('中国') # zhong-guo 

Django 内置的slugify方法不能处理中文,推荐awesome-slugify包。

from slugify import slugify

 slugify('这是一个测试') # Zhe-Shi-Yi-Ge-Ce-Shi

参考资料

  • slug 与 url 优化

你可能感兴趣的:(python)