Markdown(2.0.1)とPygments(1.0)を使用して、単純なDjango(1.1)テストアプリで構文の強調表示を機能させようとしています。アイデアは、マークダウン形式のユーザー入力からHTMLを生成し、両方をDBに保存することです。これにより、フェッチ中にマークダウンから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')
出力ソースに少なくとも一連のコード要素が含まれていると思います。