CSRF问题
在easyui 中,很多组件都是需要AJAX提交数据的,比如COMBOBOX。easyui中,AJAX默认的method为POST,而Django的POST请求是需要CSRF的,所以,需要在前端页面中设置AJAX的method为GET。
如果想用POST方法提交数据的话,在前端的JS部分,加入以下代码:
$.ajaxSetup({
data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});
JSON问题
在Django 的View中,直接返回单个json对象,是无法用于easyui的组件的,因为,easyui的组件json的格式要求为数组,例如:
[{'id':1,'text':'Hello'}]
即使单个的json对象也要放到数组里,在Django的View中,可以这样写
import json
def demo(request):
q = ...
.........
data = {
'id'=001,
'text'=q
}
s = json.dumps(data)
s = s.join('[]')
return HttpResponse(s)