将指向wiki文章的链接替换为文章内容

2024-06-28 19:21:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从这个tutorial复制小型wiki引擎。 在本教程中,他们使用自定义过滤器来wikify页面:

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过滤器或者有更好的方法吗?非常感谢。你知道吗


Tags: django引擎importreregister过滤器valuewiki
1条回答
网友
1楼 · 发布于 2024-06-28 19:21:46

可以将函数传递给re.sub。wiki文章使用的模型并不清楚,但下面是一个示例:

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

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

注意:前10个字符不是单词。你知道吗

相关问题 更多 >