Django基础——报错和调试记录

报错类型

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

发个朋友圈(假装)

Leave a comment

Your email address will not be published. Required fields are marked *