Django和ajax图像文件上载错误和csrf
我尝试将图像上传到Django 1.4 我的第一个问题是为什么我得到一个空页面,firebug告诉我有一个错误: 在我的html模板中:Django和ajax图像文件上载错误和csrf,ajax,django,Ajax,Django,我尝试将图像上传到Django 1.4 我的第一个问题是为什么我得到一个空页面,firebug告诉我有一个错误: 在我的html模板中: $ is not defined element: $('#file-uploader')[0], 这是我的整个html文件: 我的第二个问题是为什么ajax代码使用{{csrf_token}而不是{%csrf_token%}。但是如果我使用{%csrf_token%},我会得到firebug错误: missing } afte
$ is not defined
element: $('#file-uploader')[0],
这是我的整个html文件:
我的第二个问题是为什么ajax代码使用{{csrf_token}而不是{%csrf_token%}。但是如果我使用{%csrf_token%},我会得到firebug错误:
missing } after property list
'csrf_token': '<div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='Cx0zFFak6OLgrHiAnFa3k4BPDmn4BgoT' /></div>',
编辑:我将元素更改为document.getElementById'file-uploader',它似乎可以工作,所以我想我已经解决了我的第一个问题。对于第一个问题,$是由jQuery库引入的,您需要在使用前加载它。或者使用document.getElementById'file-uploader',它相当于$'file-uploader'[0]
对于第二个问题,javascript行需要一个csrf令牌,它可以通过{{csrf_token}引入,而不是一个div标记,其中包含一个输入字段w/csrf token作为它的值,{%csrf_token%}就是这样做的
要使{csrf_token}}正常工作,请检查第3步,将'django.core.context_processors.csrf'添加到模板_context_processors中,并在视图中使用RequestContext