在Django模板中替换url

时间:2017-09-20 12:34:05

标签: django python-2.7 django-templates

{% if shelf.script or shelf.log_url %}
{% if shelf.log_url %}
    Log URL: {{ shelf.log_url }}<br />
{% endif %}
{% if shelf.log_url %}
    <b>Another URL:</b> {{ shelf.log_url.replace("/tmp/BOOTLOG/", "http://www.sxp.com") }}<br />
{% endif %}
{% endif %}

我已经有了一个日志网址,我想用域名地址更新此网址,并在最后添加/index.html。

我想替换此网址

shelf.log_url output = /tmp/BOOTLOG/darwin_12345.tgz

这样的事情。

www.sxp.com/darwin_12345/index.html

如何在Django模板中执行操作?

2 个答案:

答案 0 :(得分:0)

您尝试执行的操作可以通过自定义模板标记来实现。您可以在以下位置找到有关自定义模板标记的详情:

https://docs.djangoproject.com/en/1.11/howto/custom-template-tags/

答案 1 :(得分:0)

你应该尝试使用自定义过滤器。你会从Django custom filter documentation

得到更好的想法

例如

{{shelf.log_url|replace:"url you need"}}

在任何文件中添加过滤器,例如filters.py

@register.filter(name='replace')
def replace(url, new_url):
    line = url.replace('/tmp/BOOTLOG/', new_url)
    return line