Django 在模板文件中解码 URL

7 投票
2 回答
9886 浏览
提问于 2025-04-16 13:14

有没有办法在Django的模板文件中进行urldecode操作?

这正好和urlencodeescape相反。

我想把app%20llc转换成app llc

2 个回答

10

你需要写成这样,而不是之前的答案,否则你会遇到最大递归深度的问题。

from urllib import unquote
from django.template.defaultfilters import register
from urllib.parse import unquote #python3

@register.filter
def unquote_new(value):
    return unquote(value)

{{ raw|unquote_new }}

7

你可以围绕 自定义过滤器 创建一个简单的东西,使用 urllib.unquote

比如说:

from django.template.defaultfilters import stringfilter
from urllib import unquote

@stringfilter
def unquote_raw(value):
    return unquote(value)

现在你可以在你的 Django 模板文件中使用这个:

{{ raw|unquote_raw }}

撰写回答