我使用Python 2.7和1.4的Django如何告訴Python不要解釋字符串中的反斜槓?
如果我有一個字符串變量result = "fred\xbf"
,我怎麼告訴Django的模板來顯示"fred\xbf"
,而不是處理反斜槓和顯示一些性格怪異?
我知道我可以逃避反斜槓:"fred\\xbf"
,但我可以得到Django模板來理解我想反斜槓不被處理嗎?
我使用Python 2.7和1.4的Django如何告訴Python不要解釋字符串中的反斜槓?
如果我有一個字符串變量result = "fred\xbf"
,我怎麼告訴Django的模板來顯示"fred\xbf"
,而不是處理反斜槓和顯示一些性格怪異?
我知道我可以逃避反斜槓:"fred\\xbf"
,但我可以得到Django模板來理解我想反斜槓不被處理嗎?
如果你不想使用\\
,然後再使用原始字符串:
result = r"fred\xbf"
串用R
或r
前綴被解釋爲原始字符串,轉義字符不被處理。
>>> print "fred\xbf"
fred¿
>>> print r"fred\xbf"
fred\xbf
這也是非常有用的正則表達式
這有什麼好做的Django的模板,但你如何定義在第一位的變量。
當您在Python代碼中指定它們爲文字時,Basckslashes只能被「解釋」。因此,考慮到上面的Python代碼,您可以使用雙反斜槓或使用原始字符串。
如果您從數據庫加載字符串「fred \ xbf」並將其輸出到模板中,則不會「轉義」。
如果字符串在變量中,我該如何將變量轉換爲raw?謝謝。 – smithy
@smithy如果它已經存儲在一個字符串中,你不能輕易做到這一點。 'r'前綴被附加到一個文字字符串。你可以嘗試通過做'repr(result)'來搞砸。讓我考慮一下 –
我試過s =「%r」%s,它似乎工作。如果你知道一個更好或更多pythonic的方式,將是偉大的。謝謝。 – smithy