首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django中使用Markdown & Pygments进行语法突出显示

在Django中使用Markdown & Pygments进行语法突出显示
EN

Stack Overflow用户
提问于 2009-08-04 01:38:35
回答 2查看 3K关注 0票数 5

我一直在尝试使用Markdown (2.0.1) & Pygments (1.0)在我的简单Django (1.1)测试应用程序中实现语法突出显示。这个想法是从用户输入生成HTML,这是markdown格式的,并将两者都存储在DB中,这样我就不必在抓取过程中进行markdown到html的转换。

到目前为止,我已经让markdown处理工作了,但是我似乎不能让语法突出显示工作。我的models.py看起来像这样:

代码语言:javascript
复制
from django.db import models
from django.contrib import admin
from markdown import markdown

class BlogPost( models.Model ):
    title = models.CharField( max_length = 150 )
    body = models.TextField()
    body_html = models.TextField(editable=False, blank=True, null=True)
    timestamp = models.DateTimeField()

    def save(self):
        self.body_html = markdown(self.body, ['codehilite'])
        super( BlogPost, self).save()

    class Meta:
        ordering = ( '-timestamp', )

class BlogPostAdmin( admin.ModelAdmin ):
    list_display = ( 'title', 'timestamp' )

admin.site.register(BlogPost, BlogPostAdmin)

到目前为止,只测试了markdown语法,但如果我尝试以下内容,我没有在输出或输出源中看到任何语法突出显示:

代码语言:javascript
复制
   :::python
   from foo import bar
   foobar = bar('foo')

我希望在输出源代码中至少能看到一组代码元素。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-04 02:07:21

修好了!代码应该缩进四个空格,而不是三个空格!

在问问题之前,我做了多次编辑来测试这个问题,但似乎Firefox缓存了该页面作为测试帖子。因为我一直使用windows键盘快捷键来强制页面重新加载,而不是mac键盘快捷键,哦!

当我出于对四个空格缩进的失望而制作了一个新的测试帖子时,我发现它正在工作,然后检查了页面源代码。

票数 3
EN

Stack Overflow用户

发布于 2009-08-04 01:43:57

最好以markdown格式将其存储在数据库中,然后在显示时将其转换为所需的表示格式(HTML)。这样,您就可以按照最初添加数据的方式编辑数据。

在模板的顶部,您应该包括:

代码语言:javascript
复制
{% load markup %}

然后使用模板过滤器标记。

代码语言:javascript
复制
{{ blog_post.body|markdown}}

然后只需使用css来确保您有正确的格式。

如果你在这里没有,你也需要install the markdown package

在INSTALLED_APPS的settings.py中,应该包含'django.contrib.markup‘

For more information see this page

至于为什么你看不到格式,请检查标记的源代码,并确保它工作正常。也就是说,确保它被正确标记。然后确保您拥有所需的样式表。

Markdown格式是在标记之前的格式。

还可以使用JQuery向标记的元素添加类,这样就可以在不影响页面其余部分的情况下设置标记文本的样式。

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

https://stackoverflow.com/questions/1225386

复制
相关文章

相似问题

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