2014-02-10 18 views
0

Django中可以顯示沒有標記語法的文本嗎?在Django中顯示沒有標記語法的文本

如果用戶添加一些文字與markdown語法,如果我沒有在我的模板調用降價({{SOME_TEXT}})我得到這樣的:

**this is a test** _with markdown_ `syntax` 

我想顯示什麼是這樣的純文本:

this is a test with markdown syntax 

回答

2

至於降價的documentation狀態:

降價提供反斜槓以下字符:

\ backslash 
` backtick 
* asterisk 
_ underscore 
{} curly braces 
[] square brackets 
() parentheses 
# hash mark 
+ plus sign 
- minus sign (hyphen) 
. dot 
! exclamation mark 

你可以寫,只要是剔除了所有這些字符,因爲它們的模板標籤不在前面加一個反斜槓轉義符(並且只在反斜槓符號的時候)。

但是,Markdown並不總是賦予這些字符特殊的含義。例如:

這些(括號)被Markdown忽略。

但是[這些](不是),因爲它們是鏈接的一部分。

換句話說,有些時候你可能想要去除上面的字符列表,但有時你可能不會。最後,您可能會發現自己重新實施了降價解析器。不妨使用一個已經存在的,然後通過Django的內置striptags過濾器傳遞html。或者,如果您想要維護塊級別標籤並僅剝離少量(內嵌)標籤,則removetags過濾器可能會爲您提供更好的服務。

在這兩種情況下,您都不需要編寫任何Python代碼,因爲您可以將幾個現有過濾器串起來。

{{ value|markdown|striptags }} 
0

創建模板過濾器以刪除這些字符。例如,將markdown轉換爲html,然後應用striptags。