![](/img/trans.png)
[英]How can I call a python function on the Flask server using a Jinja2 html template?
[英]Flask + python + jinja2: how can I partialy replace template arguments with html code?
我具有自動將問題ID替換為鏈接的功能:
def addlinks(text):
from flask import Markup
idlist = getallissueids()
for issueid in idlist:
text = text.replace( issueid, "<a href=/browse/" + issueid +">" + issueid + "</a>")
return Markup(text)
然后{{text}}傳遞給模板。
它可以工作,但是有副作用-在此之后,所有類型的html都不會在文本中轉義。 有什么方法可以避免僅對鏈接進行HTML轉義?
在文字上使用安全過濾器。 在模板中看起來像這樣,
{{ text |safe }}
safe將指出在此文本中找到的html是可以安全渲染的,因此不必進行轉義。
模板上的燒瓶頁面簡要介紹了安全濾網,大約在本教程的一半。 安全過濾器僅表示此文本中的所有內容都是安全的,並會關閉html轉義。
那是我今晚發現的工作:
def addlinks(text):
from flask import Markup
idlist = getallissueids()
for issueid in idlist:
parts = text.split(issueid)
text = Markup("<a href=/browse/" + issueid +">" + issueid + "</a>").join(parts)
return text
您能否解釋一下如何使用此“安全”功能執行相同的操作?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.