Django常見出錯解決方案總結
一、模板型別錯誤:
錯誤原因:在models中漏掉了return:
class UserProfile(models.Model):
modp=To ,related_name='user',verbose_name=_(u'用戶'))
company_name=models.CharField(u'企業(或代理商)名稱',max_length=30, default='未知') 企業商名稱
product=models.ForeignKey(Product, blank=True,null=True,verbose_name=_(u'產品')) # _(u'配置')
verbose_name_plural = _(u'使用者設定')
def __unicode__(self):
【這裡】_(u'%(user_name)s') % {selfuser_name':f.user.user.com即可。
二、url相關錯誤、靜態文件無法訪問,如樣式出不來
(r'^ $','login.msg.index'), #首頁
)
, 寫。
(r'^accounts/register/$','login.msg.register_page'), #註冊
(r'^accounts/login/$','login.msg.login'), 登錄 r'^accounts/logout/$','django.contrib.auth.views.logout',{'next_page':'/'}), #Django提供一個專用於處理登出表單函數logout
(r' ^accounts/register/success/$','django.views.generic.simple.direct_to_template',{'template':'registration/register_success.html'}), #註冊成功
)
管理
static.serve', {'document_root': settings.MEDIA_SITE}),
(r'^upload_media/(?P
.*)$', 'django.views.static.serve', {'P.*)$', 'django.views.static.serve', {'document_': doct. .MEDIA_ROOT}),
)
我把[登入註冊] url後面也寫成= 而並非+= ,這就造成了url覆蓋,所以就加載不了靜態文件,同時首頁也會打不開。
三、編碼錯誤、錯誤類型如下:(
)混淆了python2 裡邊的str 和unicode 資料類型。
(0)、你需要的是讓編碼用實際編碼而不是ascii
(1)、對需要str->unicode 的代碼,可以在前邊寫上
sys
reload(sys)
sys.setdefaultencoding('utf8')
(2)、python3區分了unicode str 和byte arrary,並且預設編碼不再是ascii
參考:http://vososo.com/vo/558
、其他錯誤
(403) CSRF verification failed. Request aborted
重點參考:http://blog.csdn.net/feng88724/article/details/7221449
我用的是django1.2.3,當使用session時,也會像上面出錯,這時把下面註解掉即可:
# 'django.middleware.csrf.CsrfViewMiddleware', #這段程式碼理應註解掉,使用使用生活的時候將 130,0006 年程式碼
(r'^account/login/$', 'login'), #登入
@中那麼,對應的視圖
if request.method = = "POST":
ST user = authenticate(username=username,password=password )
from django.contrib.auth import authenticate, login
這樣就壞事了,因為出現了兩個login.這就導致了上面的問題,解決辦法有兩個,
、修改login視圖函數的名稱和對應的url中。如webLogin
、導入設定:from ..login as _login 這樣也行,別忘了都要改過來。
、無法跳轉.....
if user.is_active:
但是卻沒有實現跳轉,如下:
//登录 function _submit(){ var username = $("input[name='username']").val(); var password = $("input[name='password']").val(); if (username == ""){ art.dialog({content: '用户名不能为空',time :1.5}); }else if(password == ""){ art.dialog({content: '密码不能为空',time :1.5}); }else{ $.post('/account/login/',{'username':username,'password':password},function(data){ if (data =='error'){ art.dialog({content: '用户名或密码错误',time :1.5}); } }); } }
如果傳回,它只會傳回一個字串。所以並不能在後台跳轉。
解決方法是: return HttpResponse('ok'),透過接受返回的Ok 來在前台實現跳躍。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Linux終端中查看Python版本時遇到權限問題的解決方法當你在Linux終端中嘗試查看Python的版本時,輸入python...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

在使用Python的pandas庫時,如何在兩個結構不同的DataFrame之間進行整列複製是一個常見的問題。假設我們有兩個Dat...

Uvicorn是如何持續監聽HTTP請求的? Uvicorn是一個基於ASGI的輕量級Web服務器,其核心功能之一便是監聽HTTP請求並進�...

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

攻克Investing.com的反爬蟲策略許多人嘗試爬取Investing.com(https://cn.investing.com/news/latest-news)的新聞數據時,常常�...
