最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django項(xiàng)目運(yùn)行因中文而亂碼報(bào)錯(cuò)的幾種情況解決

 更新時(shí)間:2017年11月07日 09:18:06   作者:柚子純鈞  
django是一個(gè)不錯(cuò)的WEB開(kāi)源框架。今天測(cè)試,發(fā)現(xiàn)有些頁(yè)面中文亂碼,后來(lái)發(fā)現(xiàn)出現(xiàn)中文亂碼還不止一種情況,所以這篇文章主要給大家介紹了關(guān)于django項(xiàng)目運(yùn)行過(guò)程中因?yàn)橹形亩鴮?dǎo)致亂碼報(bào)錯(cuò)的幾種情況的解決方法,需要的朋友可以參考下。

前言

django項(xiàng)目開(kāi)發(fā)過(guò)程中,碰到了多種情況下的中文亂碼報(bào)錯(cuò),在這兒做一下處理總結(jié)。

報(bào)錯(cuò):UnicodeEncodeError: 'ascii' codec can't encode characters in position x-x: ordinal not in range(128)

1.因代碼中的中文注釋問(wèn)題的報(bào)錯(cuò)

django項(xiàng)目的.py文件文件中加入了中文注釋?zhuān)?jīng)常會(huì)因此報(bào)錯(cuò)而導(dǎo)致無(wú)法運(yùn)行,究其原因是編碼的問(wèn)題,最后的解決辦法是直接在有中文注釋的.py文件的頂部加上:

# -*-coding:utf-8 -*-

2.運(yùn)行過(guò)程中的中文亂碼的報(bào)錯(cuò)

首先確保連接的數(shù)據(jù)庫(kù)的基礎(chǔ)設(shè)置是utf-8:

然后確認(rèn)django項(xiàng)目中的網(wǎng)頁(yè)頭部設(shè)置編碼為utf-8,網(wǎng)頁(yè)頭部加上代碼:

<meta charset="utf-8">

最后仍然報(bào)錯(cuò)就是因?yàn)閐jango項(xiàng)目中我們沒(méi)有指明編碼方式,所以按照默認(rèn)設(shè)置來(lái),而非正常的utf-8,為:

所以項(xiàng)目最后需要在進(jìn)行編碼操作的地方,或者直接在settings.py中加入:

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

3.項(xiàng)目配置在debian系統(tǒng)中,F(xiàn)ileField字段在admin中因中文文件名上傳報(bào)錯(cuò)

在一個(gè)django項(xiàng)目中發(fā)現(xiàn),在本地windows測(cè)試環(huán)境中,django admin的文件上傳功能毫無(wú)障礙,可是當(dāng)項(xiàng)目布置在debian環(huán)境中時(shí),中文文件名的文件在admin中無(wú)法上傳,并且報(bào)中文亂碼的錯(cuò),該錯(cuò)誤的主要原因來(lái)自系統(tǒng)編碼問(wèn)題,該debian系統(tǒng)中未設(shè)置系統(tǒng)編碼語(yǔ)言,均為默認(rèn)設(shè)置,導(dǎo)致所布置的項(xiàng)目無(wú)法正常運(yùn)行,解決如下:

(1).終端中操作安裝locales

apt-get install locales

(2).重新選擇字符編碼

dpkg-reconfigure locales

(3).空格選擇所有zh_開(kāi)頭的字符編碼,OK確認(rèn)下一步,選擇中文UTF-8

(4).debian里需要在~/.bashrc里面最下面加入export LC_ALL=zh_CN.UTF-8或者直接運(yùn)行export LANG=zh_CN.UTF-8

(5).最后直接reboot重啟服務(wù)器,查看系統(tǒng)編碼,UTF-8中文生效,locale命令可以直接查看系統(tǒng)編碼設(shè)置,此時(shí)再運(yùn)行django項(xiàng)目上傳中文名文件無(wú)誤。

附:django郵件亂碼解決方案

python中有email.meeesage 和 email.header 對(duì)郵件中的非ASCII進(jìn)行處理, 因此需要對(duì)sendMail函數(shù)中的參數(shù)進(jìn)行如下處理:

# coding=utf8 
from email.message import Message 
from email.header import Header 
 
mail_from=Header('友好互動(dòng)', 'utf8') + "god_chen@sina.com"#a************** 
mail_to="god_chen@sina.com" 
mail_subj=Header("測(cè)試","utf8")#b*************** 
mail_content='\r\n<div>測(cè)試測(cè)試郵件</div>\r\n<a href="www.61pad.com">兒童派</a>' 
 
msg=Message() 
msg['Mime-Version']='1.0' 
msg['Content-type']='text/html' 
msg['From']=mail_from 
msg['To']=mail_to 
msg['Subject']=mail_subj 
msg.set_payload(mail_content,'utf8')#c************** 
 
server=connect(sm_host, sm_port, sm_user, sm_password) 
server.sendmail(mail_from, mail_to, msg.as_string()) 
server.close() 
 
def connect(host,port,user,password): 
  "connect server" 
  server=smtplib.SMTP() 
  server.connect(host, port) 
  server.login(user, password) 
  return server 

注:

     a、用Header對(duì)象處理發(fā)件人亂碼

     b、用Header對(duì)象處理主題亂碼

     c、用Message對(duì)象處理正文亂碼

     這里統(tǒng)一采用utf8編碼

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • python屬于軟件嗎

    python屬于軟件嗎

    在本篇內(nèi)容里小編給Python新手整理了關(guān)于python是軟件嗎的相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以閱讀下。
    2020-06-06
  • Python控制臺(tái)輸出俄羅斯方塊移動(dòng)和旋轉(zhuǎn)功能

    Python控制臺(tái)輸出俄羅斯方塊移動(dòng)和旋轉(zhuǎn)功能

    這篇文章主要介紹了Python控制臺(tái)輸出俄羅斯方塊移動(dòng)和旋轉(zhuǎn)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • python字典翻轉(zhuǎn)的實(shí)現(xiàn)

    python字典翻轉(zhuǎn)的實(shí)現(xiàn)

    本文主要介紹了python字典翻轉(zhuǎn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Django實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    Django實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Django實(shí)現(xiàn)學(xué)生管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • django中path和url函數(shù)的具體使用

    django中path和url函數(shù)的具體使用

    本文主要介紹了django中path和url函數(shù)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python實(shí)現(xiàn)隨機(jī)梯度下降(SGD)

    python實(shí)現(xiàn)隨機(jī)梯度下降(SGD)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)隨機(jī)梯度下降SGD,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 淺析python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃背包問(wèn)題

    淺析python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃背包問(wèn)題

    這篇文章主要介紹了python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃背包問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • django日志默認(rèn)打印request請(qǐng)求信息的方法示例

    django日志默認(rèn)打印request請(qǐng)求信息的方法示例

    這篇文章主要給大家介紹了關(guān)于django日志默認(rèn)打印request請(qǐng)求信息的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • python使用PyFetion來(lái)發(fā)送短信的例子

    python使用PyFetion來(lái)發(fā)送短信的例子

    這篇文章主要介紹了python使用PyFetion來(lái)發(fā)送短信的例子,需要的朋友可以參考下
    2014-04-04
  • Python?Base64編碼和解碼操作

    Python?Base64編碼和解碼操作

    Base64?就是一種基于64個(gè)可打印字符來(lái)表示二進(jìn)制數(shù)據(jù)的方法,這篇文章主要介紹了Python?Base64編碼和解碼,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

东乌珠穆沁旗| 沙洋县| 吉首市| 禄劝| 夏邑县| 长汀县| 大城县| 长沙市| 武川县| 图们市| 扬中市| 宁陵县| 将乐县| 贵溪市| 安仁县| 南漳县| 隆安县| 新巴尔虎右旗| 竹溪县| 宁安市| 池州市| 上杭县| 迁西县| 红安县| 搜索| 甘泉县| 呼和浩特市| 杂多县| 望谟县| 麻阳| 萨嘎县| 菏泽市| 山西省| 普安县| 邯郸县| 许昌县| 新竹市| 宜都市| 灵台县| 九台市| 上蔡县|