Django ExtJs 6:上传文件错误
Django ExtJs 6 : upload file error
我在Django框架中使用ExtJs6。我想从上传带有文本的文件。当我提交表单时,它总是给我错误的无效csrf令牌。
禁止(403)CSRF验证失败。请求中止。
这是我的代码:
//document upload form
Ext.define('MyApp.view.UploadDocumentView', {
extend: 'Ext.form.Panel',
title : 'Upload Document',
id : 'documentUploadForm',
height: 500,
width: 400,
floating : true,
closable : true,
modal : true,
fileUpload: true,
method : 'POST',
fieldDefaults: {
labelAlign: 'top',
labelWidth: 125,
labelCls : 'formfield-input-label',
style : 'border-radius : 4px;',
inputCls : 'textfield-default',
focusCls:'textfield-default-active',
//msgTarget: 'side',
flex : 1 ,
},
items: [{
xtype: 'fieldset',
//title: 'User Info',
border : 0,
//layout: 'column',
defaultType: 'textfield',
defaults: {
//layout: 'form',
xtype: 'container',
defaultType: 'textfield',
cls : 'rounded',
style: 'width: 100%;',
},
items : [
{ xtype: 'textfield', allowBlank:false, fieldLabel: 'Doc Title', name: 'doctitle',},
{ xtype: 'filefield', allowBlank:false, fieldLabel: 'Select file', name: 'docfile'},
],
}],
buttons:[{
text: 'Upload',
handler: function(b,e){
var form = Ext.getCmp('documentUploadForm').getForm();
var token = Ext.util.Cookies.get('csrftoken');
form.submit({
url: '/document/upload/',
//headers: {'Content-Type':'multipart/form-data; charset=UTF-8', 'X-CSRFToken' : token},
headers: {'X-CSRFToken' : token},
success: function (formPanel, action) {
var data = Ext.decode(action.response.responseText);
alert("Success: " + data.msg);
},
failure: function (formPanel, action) {
var data = Ext.decode(action.response.responseText);
alert("Failure: " + data.msg);
}
});
}
}],
initComponent: function(){
this.callParent();
},
});
将其添加为参数:
form.submit({
...
params: {
csrfmiddlewaretoken: Ext.util.Cookies.get('csrftoken')
},
为了确保cookie由django设置,请用装饰您的视图
from django.views.decorators.csrf import ensure_csrf_cookie
@ensure_csrf_cookie
def main_view(request):
...
相关文章:
- 咕噜声.js无法读取文件(错误代码:EISDIR)
- 在 ubuntu 14.04 VPS 上执行.js文件错误
- 命令代码jquery文件错误
- XMLHttpRequest无法加载Angular js中的文件错误
- 咕噜声/巴别塔错误:无法写入“dist”文件(错误代码:EISDIR)
- 未捕获的类型错误:对象[对象对象]在文件 y 错误中没有方法“x”
- angularjs + 下载 csv 文件 + 错误: [$injector:unpr] 未知提供程序
- 露天更新文件 - 错误开机自检
- Django ExtJs 6:上传文件错误
- Dropbox放入保护程序本地主机文件错误
- 我的网站在提交时出现文件错误
- php生成的JSON文件错误
- JSON文件错误
- 为什么Chrome开发者工具/控制台不显示javascript文件/错误是动态加载的
- 保存JSON文件错误
- Facebook Javascript表单数据照片上传:需要上传文件错误
- 如何在Node.js中上传文件?错误:无法POST/上载
- 外部javascript文件错误
- 使用jQuery表单插件上传文件-无效文件错误
- Json上传jquery文件错误