一、模板類型錯誤: 錯誤原因:在models中漏掉了return: 【這裡】加上return即可。 二、url相關錯誤 靜態文件無法訪問,如樣式出不來 css樣式總出不來,折騰了一個多小時,原來,urlpatterns 寫成這樣: 我把 [登錄註冊] url後面也寫成 = 而並非+= ,這就造成了u ...
一、模板類型錯誤:
錯誤原因:在models中漏掉了return:
【這裡】加上return即可。
二、url相關錯誤
靜態文件無法訪問,如樣式出不來
css樣式總出不來,折騰了一個多小時,原來,urlpatterns 寫成這樣:
我把 [登錄註冊] url後面也寫成 = 而並非+= ,這就造成了url覆蓋,所以就載入不了靜態文件,同時首頁也會打不開。
三、編碼錯誤
錯誤類型如下:
解決方案:
混淆了 python2 裡邊的 str 和 unicode 數據類型。
(0)、你需要的是讓編碼用實際編碼而不是 ascii
(1)、對需要 str->unicode 的代碼,可以在前邊寫上
把 str 編碼由 ascii 改為 utf8 (或 gb18030)
(2)、python3 區分了 unicode str 和 byte arrary,並且預設編碼不再是 ascii
參考:http://vososo.com/vo/558
四、其他錯誤
Django POST請求錯誤forbidden(403) CSRF verification failed. Request aborted
在 settings.py 中的MIDDLEWARE_CLASSES 設置下 添加
'django.middleware.csrf.CsrfResponseMiddleware',
重新 runserver. OK
重點參考:http://blog.csdn.net/feng88724/article/details/7221449
我用的是django1.2.3,當使用session時,也會像上面出錯,這時把下麵註釋掉即可:
# 'django.middleware.csrf.CsrfViewMiddleware', #這段代碼理應註釋掉,在使用session的時候
login:login() takes exactly 1 argument (2 given)
這在登錄視圖函數的時候特別常見,原因就是函數login與login模塊的名字衝突,如登錄url這樣寫:
那麼,對應的視圖函數如下:
當然如果這樣寫,不要忘記導入:
這樣就壞事了,因為出現了兩個login.這就導致了上面的問題,解決辦法有兩個,
修改login視圖函數的名稱和對應的url中。如webLogin
導入設置:from ..login as _login 這樣也行,別忘了都要改過來。
無法跳轉
如,我想登錄。然後登錄成功後跳轉到主頁,如上:把上面代碼改寫成這樣
但是卻沒有實現跳轉,如下:
這裡並不是跳轉寫錯了,而是沒有註意到我這個登錄界面是ajax POST形式的,代碼如下:
//登錄
Query.post( url, [data], [callback], [type] ) :
如果返回,它只返回一個字元串。所以並不能在後臺跳轉。
解決方法是: return HttpResponse('ok'),通過接受返回的Ok 來在前臺實現跳轉。