我一直在嘗試使用Markdown(2.0.1)& Pygments(1.0)在我簡單的Django(1.1)測試應用程序中獲取語法突出顯示。這個想法是從markdown格式的用戶輸入中生成HTML並將它們存儲在數據庫中,這樣我就不必在提取過程中對html進行標記。在Django中使用Markdown&Pygments語法突出顯示
到目前爲止,我有降價處理工作,但我似乎無法得到語法高亮工作。我的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')
我期望在輸出源中看到至少一組代碼元素。
我正在存儲用戶輸入的原始內容(因此他們可以繼續使用降價對其進行編輯),並且我還保存了處理後的輸出,因此我無需在每次使用時都將其轉換。 – Danielb 2009-08-04 01:46:51
對於需要進行轉換的燈光處理,我認爲最好節省空間。我也討厭在兩個地方有同樣的事情,但也許這只是程序員的一部分。但這取決於你:) – 2009-08-04 01:49:34