2016-01-24 85 views
2

我正在爲遊戲開發人員創建一個Django網站來共享代碼,這意味着我需要能夠將格式正確的代碼保存到數據庫中,以及能夠檢索並顯示它。如何將代碼片段保存到數據庫?

Django中是否有爲此構建的任何內容,還是我需要使用第三方庫?

我玩過Django pagedown widget,它是在StackOverflow的降價編輯器之後建模的,但是我遇到了一些麻煩,如果這將完成我自己想要的任何事情,我並不積極。

有沒有人實際使用過pagedown小部件,實現了類似於此功能的功能,還是知道可以工作的另一個庫?

+1

是的,請查看[數據庫]上的Django文檔頁面(https://docs.djangoproject.com/en/1.9/ref/databases/)。您需要安裝和配置您要使用的任何數據庫,然後您需要安裝並使用「驅動程序」讓Django與數據庫進行交互。 – vesche

回答

2

爲了存儲代碼,您可以使用任何支持文本類型的數據庫。也就是說,您可以在模型中使用TextField

現在您需要決定如何顯示/格式化原始文本。

這取決於你的意思是顯示格式正確的代碼,但我會繼續前進,只是說你應該檢查出Pygments。這是一個語法高亮庫,可以很容易地使用w/Django。

Pygments通過指定一個詞法分析器(閱讀:語言)使其將樣式應用於目標文本。空白將由您的數據庫保留。與格式相關的其他一切都是純粹主觀的。您可能會在視圖中指定固定寬度的字體,大小等,並將其傳遞到上下文,就像其他任何由DB支持的對象一樣。

Django Rest Framework's tutorial實際上使你的描述和使用Pygments非常相似,所以我建議檢查一下具體的使用示例。

對於格式化代碼的排他性,我會避免像列出的任何減價風格,因爲代碼可能包含在降價中有特殊含義的字符,因此您將需要轉義文本,並且打敗了降價的目的。

相關問題