从WordPress迁移到Django时,如何将百分比编码的段塞字段转换为unicode?

时间:2017-03-30 08:10:14

标签: python django url-encoding

我正在将Wordpress数据迁移到Django中。当前网站标题,内容,slug是印地语。

我正在使用wordpress_xmlrpc通过xmlrpc从WordPress导入数据。

所有内容标题,内容也都是印地语,并且可以访问和保存它们。

tools:replace="android:label"

虽然Django slugs存在问题。

尝试过以下操作,不起作用。

    instance.name = post.title
    instance.content = post.content

为了不工作,在一种情况下,slug保存为

    instance.slug = unicode(post.slug)
    instance.slug = post.slug

也无法访问。

获取404,找不到

页面
     %e0%a4%9c%e0%a4%b2%e0%a5%8d%e0%a4%a6-%e0%a4%b8%e0%a4%bf%e0%a4%b2%e0%a5%8d%e0%a4%b5%e0%a4%b0-%e0%a4%b8%e0%a5%8d%e0%a4%95%e0%a5%8d%e0%a4%b0%e0%a5%80%e0%a4%a8-%e0%a4%aa%e0%a4%b0-%e0%a4%a6%e0%a4%bf

WordPress像slu ..        /तापसी-पन्नू-ने-अक्षय-कुमा/

是否有人知道如何解决此问题。

1 个答案:

答案 0 :(得分:0)

要在迁移中转换百分比编码,您可以使用内置uri_to_iri函数的django。

>>> from django.utils.encoding import uri_to_iri
>>> old_slug = '%e0%a4%9c%e0%a4%b2%e0%a5%8d%e0%a4%a6-%e0%a4%b8%e0%a4%bf'
>>> new_slug = uri_to_iri(old_slug)
>>> print(old_slug, '->', new_slug)

%e0%a4%9c%e0%a4%b2%e0%a5%8d%e0%a4%a6-%e0%a4%b8%e0%a4%bf -> जल्द-सि

这应该将wordpress slug转换为unicode:

instance.slug = uri_to_iri(post.slug)