报错类型
RuntimeError at /task/register
You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to dev.paas-class.bktencent.com:8000/task/register/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
通过ajax写POST请求时,提示需要在路径后面加上slash“/”才可以,即:
$.ajax({
url: '/task/register/',
type: 'post',
data: {
"csrfmiddlewaretoken": $("input[name='csrfmiddlewaretoken']").val()
},
success: function (response) {
alert(response)
}
})
Template-loader postmortem
Django tried loading these templates, in this order:
Using engine django
:
django.template.loaders.filesystem.Loader
: C:\Users\cascara\Desktop\LearningMaterials\SAAS\saas\templates\task\homepage.html (Source does not exist)django.template.loaders.app_directories.Loader
: C:\Users\cascara\Desktop\LearningMaterials\SAAS\saas\bkenv\lib\site-packages\django\contrib\admin\templates\task\homepage.html (Source does not exist)django.template.loaders.app_directories.Loader
: C:\Users\cascara\Desktop\LearningMaterials\SAAS\saas\bkenv\lib\site-packages\django\contrib\auth\templates\task\homepage.html (Source does not exist)django.template.loaders.app_directories.Loader
: C:\Users\cascara\Desktop\LearningMaterials\SAAS\saas\blueapps\account\templates\task\homepage.html (Source does not exist)django.template.loaders.app_directories.Loader
: C:\Users\cascara\Desktop\LearningMaterials\SAAS\saas\home_application\templates\task\homepage.html (Source does not exist)django.template.loaders.app_directories.Loader
: C:\Users\cascara\Desktop\LearningMaterials\SAAS\saas\task\templates\task\homepage.html (Source does not exist)
根据报错提示的路径,把html文件放到正确的对应路径即可(比如放在这里
C:\Users\cascara\Desktop\LearningMaterials\SAAS\saas\task\templates\task\homepage.html
正则表达式
路径url的匹配用到,没有了解清楚,做个标记
特殊报错:User
ERRORS:
task.WeChatUser.user: (fields.E301) Field defines a relation with the model 'auth.User', which has been swapped out.
HINT: Update the relation to point at 'settings.AUTH_USER_MODEL'.
整个项目都是这么使用的,将User修改为settings.AUTH_USER_MODEL,报错
NameError: name 'settings' is not defined
加上导入即可成功
from django.conf import settings
用户
python manage.py createsuperuser
根据提示创建新用户
name ‘redirect’ is not defined
from django.shortcuts import render,redirect
前面加/表示绝对路径
return redirect(“/task/status”)
重要的工具
pdb
import pdb
pdb.set_trace()
continue step quit