首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django中显示没有标记语法的文本

在Django中显示没有标记语法的文本
EN

Stack Overflow用户
提问于 2014-02-10 21:39:20
回答 2查看 1.7K关注 0票数 0

是否可以使用Django只显示文本而不使用标记语法?

如果用户添加了一些具有markdown语法的文本,如果我没有在模板({{some_text})中调用markdown,则会得到如下内容:

代码语言:javascript
复制
**this is a test** _with markdown_ `syntax`

我想展示的是这样的纯文本:

代码语言:javascript
复制
this is a test with markdown syntax 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-11 02:48:03

正如Markdown的文档所说:

Markdown为下列字符提供反斜杠转义: \反斜杠*反斜杠**星号_下划线{}花括号[]方括号()、括号#散列标记+加号-减号(连字符)。多点!感叹号

您可以编写一个模板标记,只要这些字符前面没有反斜杠转义(并且只有当反斜杠是反斜杠时),就可以删除这些字符中的任何一个。

然而,Markdown并不总是赋予这些字符特殊的含义。例如:

这些(括号)被Markdown忽略。 但是,这些是因为它们是链接的一部分。

换句话说,有时您可能想要删除上面的字符列表,但有时您可能不想。最后,您可能会发现自己重新实现了一个标记解析器。最好使用已经存在的html,然后简单地通过Django的内置条纹标签过滤器传递html。或者,如果您希望维护块级标记,并且只删除少量的(内联)标记,则边远地区筛选器可能会更好地为您服务。

在这两种情况下,您都不需要编写任何Python代码,因为您只需将一些现有的过滤器串在一起即可。

代码语言:javascript
复制
{{ value|markdown|striptags }}
票数 3
EN

Stack Overflow用户

发布于 2014-02-10 22:42:41

创建一个模板过滤器来删除这些字符。例如,将标记转换为html,然后应用条带标记。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21688485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档