使用CBV時(shí)的一些報(bào)錯(cuò)
- takes at most 1 positional arguments but 2 were given
位置參數(shù)給多了,一般是在urls.py在沒有寫as_view()方法
Screenshot from 2019-01-06 15-50-32.png - TypeError at XXX 'module' is an invalid keyword argument for this function
類型錯(cuò)誤,xxx參數(shù)是在這個(gè)函數(shù)里面是一個(gè)無效的關(guān)鍵字參數(shù)
這個(gè)時(shí)候檢查視圖函數(shù)views.py,模板html可能排不出錯(cuò),如果是一個(gè)需要post的頁面,調(diào)試也很麻煩,回頭看相關(guān)的定義,問題可能出現(xiàn)在模型定義上,事實(shí)上就是在models.py里外鍵的名稱寫錯(cuò)了。遇到TypeError類型錯(cuò)誤要注意模型定義有沒有出錯(cuò),這也是一個(gè)因素。 - Screenshot from 2019-01-06 11-03-21.png
- Page not found(404) 目前的路徑?jīng)]有匹配,解析不了url。
這時(shí)候{% url %}是對(duì)的,給的參數(shù)也是對(duì)的,就是沒有辦法給到正確中的url。下面的代碼中,text,image,video是沒辦法解析url的,file卻可以,原因是file沒有換行,換行了就解析不了,算是Django模板語言的一個(gè)坑吧。
關(guān)鍵代碼在Text,Image, Viedo, File那.png

無法解析url.png
- Django發(fā)送郵件的坑
用send_email()發(fā)送郵件,如果是qq的話,EMAIL_HOST_PASSWORD是填的授權(quán)碼,不是密碼,而且,不要有空格。如果是密碼的話,返回的是1,成功,但是實(shí)際上還是沒有郵件發(fā)出去的。
這是我成功的配置:
EMAIL_HOST = 'smtp.qq.com'
EMAIL_HOST_USER = '你的QQ郵箱'
EMAIL_HOST_PASSWORD = '16位授權(quán)碼'
EMAIL_USE_TLS = True
EMAIL_PORT = 25
用了EMAIL_USE_SSL就報(bào)錯(cuò),不知為何。
- 表單提交地址錯(cuò)誤
有時(shí)我們在提交表單時(shí),提交的地址是提交給當(dāng)前頁面的,而地址是通過HTML代碼的action屬性指定的。提交給當(dāng)前頁面的時(shí)候,通過<form action=".">提交,可是submit之后提示頁面不存在,這里可能的一個(gè)錯(cuò)誤是url的設(shè)置,url的endpoint端點(diǎn)沒有寫/后綴,這回導(dǎo)致提交表單后找不到當(dāng)前頁面。


