1、(django1.10)访问url报错Forbidden (CSRF cookie not set.): xxx
解决方法:
修改settings.py文件,注释掉django.middleware.csrf.CsrfViewMiddleware'
2、ORA-00984: 列在此处不允许
描述:
通过Python写到Oracle数据库中会报这个错,语句如下
sql = "insert into BM_test_class(BM,MC) values ({0},{1})".format(classid,classname)
解决方法:
在{0}和{1}外加上单引号,如下
sql = "insert into BM_test_class(BM,MC) values ('{0}','{1}')".format(classid,classname)
3、AttributeError: 'dict' object has no attribute 'status_code'
描述:
在FireFox、Chrome浏览器下,点击某个按钮进行页面跳转时,控制台提示 window.location.href is not a function.
解决方法:
return httprespone(redirect或者render)
原因:
views层的函数,有两个基本限制:
1.第一个数必须是request
2.必须返回HttpResponse类的一个实例(对象).
如果只返回了字典类型的数据内容就会报错,应该用HttpResponse包裹一下返回信息,如果返回信息是字典的话,json转一下
return HttpResponse(json.dumps(ret))。
4、locatin.href is not a function
描述:
在执行json时,控制台提示 window.location.href is not a function.
解决方法:
将代码做如下修改
location.href ("http://www.baidu.com");
location.href = "http://www.baidu.com";
原因:
这是由于这个属性在这些浏览器中是只读属性,并不能通过这样的方式进行赋值跳转。第一种格式在IE下可以正常跳转,但是在Firefox和chrome下却不行
4、Uncaught SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse (<anonymous>)
描述:
在执行json时,控制台提示 Uncaught SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse (<anonymous>).
解决方法:
将代码做如下修改
def model_students_edit(request):
ret = {'status':True,'message':None}
try:
stuid = request.POST.get('stuid')
stunum = request.POST.get('stunum')
stuname = request.POST.get('stuname')
classid = request.POST.get('classid')
sql = "update bm_test_student set classid = '{0}', stunum = '{1}',stuname = '{2}' where id = '{3}'".format(classid,stunum,stuname,stuid)
sqlhelp.edit_it(sql)
return redirect('/students/')
except Exception as e:
ret['status'] = False
ret['message'] = str(e)
return HttpResponse(json.dumps(ret))
去掉views层函数model_students_edit的redirect跳转
def model_students_edit(request):
ret = {'status':True,'message':None}
try:
stuid = request.POST.get('stuid')
stunum = request.POST.get('stunum')
stuname = request.POST.get('stuname')
classid = request.POST.get('classid')
sql = "update bm_test_student set classid = '{0}', stunum = '{1}',stuname = '{2}' where id = '{3}'".format(classid,stunum,stuname,stuid)
sqlhelp.edit_it(sql)
#return redirect('/students/')
except Exception as e:
ret['status'] = False
ret['message'] = str(e)
return HttpResponse(json.dumps(ret))
原因:
return redirect 的话,这个函数返回的data就不再支持json格式化了,后面jquery进行JSON.parse的时候就会报错
5、Uncaught TypeError: $(…).find(…).once is not a function in bootstrap/js/bootstrap.js?
解决:将引入的js和页面写的js放一起,引入的js放到页面的最前面
6、django.template.exceptions.TemplateDoesNotExist
描述:
多个app时,报错
解决方法:
检查setting配置文件
TEMPLATES是否配置各个app
INSTALLED_APPS是否注册app