Python Django中的项目中报的实际应用方案简介

开发 后端
下面的文章主要是对Python Django中项目的中报在实际应用过程中的具体应用以及Python Django的相关代码的介绍,希望你会有所收获。

如果你对Python Django中的项目的实际应用操作方案有不解之处的话,你可以通过我们的文章对Python Django中的项目在实际操作有一个详细的介绍,以下就是文章内容的具体介绍。望你会有所收获。

Python Django项目中报

 

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

 

现在来跟踪一下这个BUG。看一下要如何解决第一种情况:

 

  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)  

 

这样的写就报这个错了。初步我感觉问题应该是出在:JS写法上面导致的!网上追踪:一个很关键的并且要常记住的,就是代码中所有字符串都统一使用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'北京'一样的会报这样的错误!总结:如果想使用%s 的格式化输出的方式的话就必须要注意其前后两者的编码方式保持一致。要不然就会报这种错误!

 

由UnicodeDecodeError可猜想得到,解析器尝试使用ascii对'%s欢迎您!'进行解码,由于'%s欢迎您!'实际是使用utf-8编码的(这是我系统终端默认的),所以使用ascii解码肯定会错'%s欢迎你' 解析器会尝试使用ascii对其做解码处理。由于默认我们为utf-8所以出错

PS: 引自一段对话摘要如下:

str转成unicode不是直接构造,是用str对象的decode方法。str的编码是与系统环境相关的,一般就是sys.getfilesystemencoding()得到的值unicode你可以不管它是怎么存的,就把它看做是系统能够识别其中内容的文本类型所以从unicode转str,被看做是把一个信息文本编码为二进制字节流的过程,要用encode方法.

从str转unicode,看作是从二进制串出解读出有意义的信息文本,所以要用decode其中的str 可以看成是一个对象处理!现在我将代码写成如下:

 

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

 

 

还是继续报。想起来之前遇到的BT问题。解决办法:

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

 

这样就可以解决了。

 

 

 

【编辑推荐】

  1. 在Python定时器中Lock的实际应用操作方案详解
  2. Python Library中的Semaphore操作方案详解
  3. 在Python Library中Event具体实际操作方案
  4. Python Library中Condition的具体操作方案
  5. Python socket编程在具体应用中前两个步骤的介绍
责任编辑:佚名 来源: 互联网
相关推荐

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数组

2010-03-18 10:28:00

Python整理乱码

2024-07-31 08:28:38

2010-03-22 15:58:08

Python模块功能

2010-03-17 14:18:27

Python open

2010-03-16 18:19:41

Python函数

2010-03-16 18:59:47

Python模块

2023-10-12 14:22:45

2024-01-22 09:43:50

数据库方案

2010-03-17 12:37:51

Python定时器

2010-03-29 15:33:18

Oracle EXP

2010-03-23 18:20:26

Python os.g

2010-03-17 15:58:08

Python环境

2024-10-22 15:14:16

2010-05-31 15:49:29

MySQL临时表
点赞
收藏

51CTO技术栈公众号