限制 Django 中的 Markdown
我在使用 django 开发的博客中的评论系统上使用 markdown 我想限制可能的格式以仅接受基本格式(使用粗体、斜体、链接和代码)
如何设置 Markdown 来执行此操作?
如果使用 markdown 不可能做到这一点,那么还有其他选择吗? PS:我正在使用默认的 django 应用程序“django.contrib.markup”,
这是我在模板上使用的实际代码:
<div class="comment-content>
<p>
{% load markup %}
{{ comment.comment|markdown:"safe" }}
</p>
</div>
I am using markdown on the comments system in my blog developed using django
I want to limit the possible format to accept just a basic one (with bold, italic, link and code)
How do I set Markdown to do this ?
if this is not possible using markdown so any alternatives ?
PS : i am using the default django app 'django.contrib.markup'
here is the actual code i am using on my template:
<div class="comment-content>
<p>
{% load markup %}
{{ comment.comment|markdown:"safe" }}
</p>
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这取决于您使用的 Markdown 插件,通过谷歌快速搜索可以找到很多插件。
您必须在线查找您正在使用的特定文档的文档,或者查看源代码,如果它是开源的,则需要时修改它。
或者只是找到另一个允许该功能的产品。
编辑:
似乎 django 使用 python-markdown(http://www.freewisdom.org/projects/python-markdown/),快速浏览一下它似乎不支持仅指定特定的格式选项。然而它似乎很容易扩展,所以如果你编写一个扩展,你可以在 django 中使用它,如下所示:
It would depend on which markdown plugin you're using there are many out there from a quick google search.
You'll have to either find documentation online for the specific one you are using, or perhaps look through the source and if it's open source modify it if you have to.
Or just find another one that allows that functionality.
edit:
Seems that django uses python-markdown(http://www.freewisdom.org/projects/python-markdown/), from a quick look it doesn't seem to support specifying only specific formatting options. However it seems to be easily extensible, so if you write an extension you can use it in django like this:
您可以使用 Bleach 并编写一个模板标签来删除您不需要的标签。
例如,仅允许粗体和斜体:
然后在模板中,您可以将其用作:
You could use Bleach and write a template tag to strip out the tags you don't want.
For example, to allow only bold and italic:
Then in your template, you could use it as: