自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python Django中的項目中報的實際應(yīng)用方案簡介

開發(fā) 后端
下面的文章主要是對Python Django中項目的中報在實際應(yīng)用過程中的具體應(yīng)用以及Python Django的相關(guān)代碼的介紹,希望你會有所收獲。

如果你對Python Django中的項目的實際應(yīng)用操作方案有不解之處的話,你可以通過我們的文章對Python Django中的項目在實際操作有一個詳細的介紹,以下就是文章內(nèi)容的具體介紹。望你會有所收獲。

Python Django項目中報

 

  1. 'ascii' codec can't decode byte 0xe6 in position 
    15: ordinal not in range(128) 

 

現(xiàn)在來跟蹤一下這個BUG??匆幌乱绾谓鉀Q第一種情況:

 

  1. try:  
  2. return HttpResponse("<script>alert);
    </script><script>window.location.href
    ='/serverinfolist/levels/?t_id="+app_id+"';</script>")  
  3. except Exception,e:  
  4. logging.debug(e)  

 

這樣的寫就報這個錯了。初步我感覺問題應(yīng)該是出在:JS寫法上面導(dǎo)致的!網(wǎng)上追蹤:一個很關(guān)鍵的并且要常記住的,就是代碼中所有字符串都統(tǒng)一使用unicode,而不是str。這樣,自己就能很清楚要處理的字符串類型了。請記住,是所有,任何地方。

 

  1. >>s1 = u'%s歡迎你' % u'北京'  
  2. >>s1   

 

輸出:

  1. u'\u5317\u4eac\u6b22\u8fce\u4f60'  

得到的是unicode編碼形式

 

  1. >>print s1 

返回的就是 歡迎你北京

 

 

  1. >>s1 = '%s歡迎你' % '北京'  
  2. >>s1   

 

輸出:

  1. '\xb1\xb1\xbe\xa9\xbb\xb6\xd3\xad\xc4\xe3'  

返回字符串編碼>>print s1 返回的就是 歡迎你北京但是如果這樣寫:>>s1 = u'%s歡迎你' % '北京'則報:

  1. UnicodeDecodeError: 'ascii' codec can't decode 
    byte 0xb1 in position 0: or  
  2. not in range(128)   

 

同樣的如果這樣寫:>>s1 = '%s歡迎你' % u'北京'一樣的會報這樣的錯誤!總結(jié):如果想使用%s 的格式化輸出的方式的話就必須要注意其前后兩者的編碼方式保持一致。要不然就會報這種錯誤!

 

由UnicodeDecodeError可猜想得到,解析器嘗試使用ascii對'%s歡迎您!'進行解碼,由于'%s歡迎您!'實際是使用utf-8編碼的(這是我系統(tǒng)終端默認的),所以使用ascii解碼肯定會錯'%s歡迎你' 解析器會嘗試使用ascii對其做解碼處理。由于默認我們?yōu)閡tf-8所以出錯

PS: 引自一段對話摘要如下:

str轉(zhuǎn)成unicode不是直接構(gòu)造,是用str對象的decode方法。str的編碼是與系統(tǒng)環(huán)境相關(guān)的,一般就是sys.getfilesystemencoding()得到的值unicode你可以不管它是怎么存的,就把它看做是系統(tǒng)能夠識別其中內(nèi)容的文本類型所以從unicode轉(zhuǎn)str,被看做是把一個信息文本編碼為二進制字節(jié)流的過程,要用encode方法.

從str轉(zhuǎn)unicode,看作是從二進制串出解讀出有意義的信息文本,所以要用decode其中的str 可以看成是一個對象處理!現(xiàn)在我將代碼寫成如下:

 

  1. return   
  2. HttpResponse("<script>alert('操作成功!');</script> 
  3. <script>window.location.href='/serverinfolist/levels/?t_id=%s';</script>" % app_id.decode('utf-8'))  
  4.  

 

 

還是繼續(xù)報。想起來之前遇到的BT問題。解決辦法:

  1. return HttpResponseRedirect("/serverinfolist/levels/?t_id="+app_id) 

 

這樣就可以解決了。

 

 

 

【編輯推薦】

  1. 在Python定時器中Lock的實際應(yīng)用操作方案詳解
  2. Python Library中的Semaphore操作方案詳解
  3. 在Python Library中Event具體實際操作方案
  4. Python Library中Condition的具體操作方案
  5. Python socket編程在具體應(yīng)用中前兩個步驟的介紹
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-03-19 15:16:11

Python代碼

2010-03-31 17:40:15

Oracle SELE

2010-03-23 17:53:46

Python遞歸文件

2010-03-16 09:20:25

Python時間

2010-04-08 18:33:46

Oracle VARR

2010-03-16 16:47:25

Python數(shù)組

2010-03-18 10:28:00

Python整理亂碼

2024-07-31 08:28:38

2010-03-22 15:58:08

Python模塊功能

2023-10-12 14:22:45

2010-03-17 14:18:27

Python open

2010-03-16 18:59:47

Python模塊

2010-03-16 18:19:41

Python函數(shù)

2024-01-22 09:43:50

數(shù)據(jù)庫方案

2010-03-17 12:37:51

Python定時器

2010-03-29 15:33:18

Oracle EXP

2010-03-17 15:58:08

Python環(huán)境

2010-03-23 18:20:26

Python os.g

2018-12-03 08:25:24

2010-05-12 17:26:55

MySQL維護
點贊
收藏

51CTO技術(shù)棧公眾號