使用Django怎么渲染减价文章目录

  介绍

这篇文章将为大家详细讲解有关使用Django怎么渲染减价文章目录,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强>文中的目录

之前我们已经为博文支持了减价语法,现在继续增强其功能。

有折腾代码高亮的痛苦经历之后,设置减价的目录扩展就显得特别轻松了。

修改文章详情视图:

文章/views.py      …      #,文章详情   def  article_detail(请求,,id):   ,……=,,article.body  markdown.markdown (article.body,   扩展才能=[   & # 39;才能markdown.extensions.extra& # 39;   & # 39;才能markdown.extensions.codehilite& # 39;   ,,   #,才能目录扩展   & # 39;才能markdown.extensions.TOC& # 39;   ,,)   ,)   以前,…

仅仅是将将<代码> markdown.extensions。TOC 扩展添加了进去。

目录:目录,即目录的意思

代码增加这一行就足够了。为了方便测试,往之前的文章中添加几个一级标题,二级标题等。

还记得减价语法如何写标题吗?一级标题:<代码> # title1> # # title2

然后你可以在文中的任何地方插入<代码> (TOC)>

使用Django怎么渲染减价文章目录

点击标题,页面就立即前往相应的标题处(即“锚点”的概念)。

<强>任意位置的目录

上面的方法只能将目录插入到文章当中。如果我想把目录插入到页面的任何一个位置呢?

也简单,这次需要修改减价的渲染方法:

文章/views.py      …      def  article_detail(请求,,id):   ,……      ,#修改,Markdown 语法渲染=,,md  markdown.Markdown (   扩展才能=[   & # 39;才能markdown.extensions.extra& # 39;   & # 39;才能markdown.extensions.codehilite& # 39;   & # 39;才能markdown.extensions.toc& # 39;   ,,)   ,)=,,article.body  md.convert (article.body)      ,#新增了md.toc对象   ,context =,{, & # 39;文章# 39;:,,,& # 39;toc # 39;:, md.toc }      ,return 渲染(请求,,& # 39;文章/detail.html& # 39;,,上下文)

为了能将<代码> toc 单独提取出来,我们先将减价类赋值给一个临时变量<代码>医学> 转换()方法将正文渲染为html页面。通过<代码> md.toc>

注意markdown.markdown()和markdown.markdown()的区别

更详细的解释见:官方文档

为了将新的目录渲染到页面中,需要修改文章详情模板:

模板/文章/detail.html      …      & lt; div 类=癱ontainer"祝辞   ,& lt; div 类=皉ow"比;   & lt; !——,才能将原有内容嵌套进新的div中,——比;   & lt;才能div 类=癱ol-9"比;   ,,& lt; h2 类=癿t-4  mb-4"在{{,article.title }} & lt;/h2>   ,,& lt; div 类=癮lert  alert-success"比;   ,,,…   ,,& lt;/div>   & lt;才能/div>      & lt;才能!——,新增的目录,——比;   & lt;才能div 类=癱ol-3  mt-4"比;   ,,& lt; h5> & lt; strong>目录& lt;/strong> & lt;/h5>   ,,& lt; hr>   ,,& lt; div>   ,,,{{,toc | safe }}   ,,& lt;/div>   & lt;才能/div>   ,& lt;/div>   & lt;/div>      … <李>

重新布的局,将原有内容装进<代码> col-9> col-3> <李>

<代码> toc> | 安全标签才能正确渲染

重新打开页面:

使用Django怎么渲染减价文章目录

关于使用Django怎么渲染减价文章目录就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

使用Django怎么渲染减价文章目录