2012-12-04 31 views
1

我的模板形式返回性格怪異

<form method="GET" action="...."> 
        <input type="submit" name="golfsite" value="1net" /> 
        <input type="submit" name="golfsite" value="Golfagora" /> 
        <input type="submit" name="golfsite" value="Juchi" /> 
</form> 

views.py是

def affiliate(request, golfsite=None): 

    golfsite = golfsite or request.args.get('golfsite') 


    ...... 

在調試模式的控制檯,如果我輸入 'golfsite' 檢查什麼是golfsite,它返回u'1net'u'Golfagora'u'juchi'。發生什麼事?什麼是u,爲什麼不返回1netgolfagorajuchi

回答

1

您正在獲取Unicode字符串,這是正常的。這不是問題。 Django已根據所使用的編碼將傳入表單數據解碼爲Python unicode字符串。這是正常的行爲。

請仔細閱讀Python和Unicode中的Python Unicode HOWTO以避免將來的混淆。

+0

我想比較高爾夫球場與'1net'字符串,我該怎麼辦呢? – John

+0

@John:是的,對於完全可能的ASCII字符串。您也可以生成Unicode文字,以避免自動編碼問題:'u'1net''是一個Unicode文字。對於ASCII值,'1net'== u'1net''爲真。 –