我一直在尝试使用 Markdown (2.0.1) 和 Pygments (1.0) 在我的简单 Django (1.1) 测试应用程序中实现语法高亮。这个想法是从用户输入中生成降价格式的 HTML,并将两者都存储在数据库中,这样我就不必在获取期间进行降价到 html 的翻译。
到目前为止,我的降价处理工作正常,但我似乎无法让语法突出显示工作。我的 models.py 看起来像这样:
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)
到目前为止,测试只是降价语法有效,但如果我尝试以下类似的操作,我在输出或输出源中看不到任何语法突出显示:
:::python
from foo import bar
foobar = bar('foo')
我希望在输出源中至少看到一组代码元素。