用文章内容替换wiki文章的链接

时间:2014-01-23 18:02:39

标签: python django

我正试图从这个tutorial重现小型wiki引擎。 在本教程中,他们使用自定义过滤器来浏览页面:

from django import template
import re
wikilink = re.compile("\\b([A-Z][a-z]+[A-Z][a-z]+)\\b")
register = template.Library()
@register.filter
def wikify(value):
    return wikilink.sub(r"<a href='/wikicamp/\1/'>\1</a>", value)

维基文章被模型所揭示。 我想在文章中替换wikiwords而不是链接,而是用目标文章中的前十个单词替换。如何使用django过滤器或者有更好的方法吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以将功能传递给re.sub。用于维基文章的模型尚不清楚,但这是一个例子:

def repl(m):
   return WikiArticles.objects.get(title=m.group(1)).content[:10]

@register.filter
def wikify(value):
    return wikilink.sub(repl, value)

注意:返回的前十个字符不是单词。