2015-04-19 49 views

回答

2

這裏有一個神社過濾器,你可以使用:

from flask import Markup 

def linkify(text): 
    return Markup(re.sub(r'@([a-zA-Z0-9_]+)', r'<a href="/\1">@\1</a>', text)) 

它發現用戶名開始@,包含大寫或小寫字母,數字和下劃線。它取代了它的鏈接配置文件(\1代表自己的用戶名,而不@

這裏是你如何把它添加到你的環境:

app.jinja_env.filters['linkify'] = linkify 

而從神社模板調用它:

在Python殼
{{ post|linkify }} 

編輯

運行此:

>>> import re 
>>> text = 'This is a post mentioning @nathancahill and @jacob_bennet' 
>>> re.sub(r'@([a-zA-Z0-9_]+)', r'<a href="/\1">@\1</a>', text) 
'This is a post mentioning <a href="/nathancahill">@nathancahill</a> and <a href="/jacob_bennet">@jacob_bennet</a>' 

你是否得到相同的輸出?

+0

它似乎沒有工作:( –

+0

什麼似乎沒有工作?是否有錯誤或追溯? – nathancahill

+0

它不會創建一個鏈接,它只是創建文本 –

相關問題