我知道关于这个主题的主题并没有遗漏,这就是为什么我查看了关于这个主题的大量帖子,找不到令我满意的东西,所以我试图自己构建它.
我想要做的就是使用Djaxo使用Ajax上传文件以避免页面刷新.
这是我做的:
basic_upload.html:
{% csrf_token %}
{{ form.name.errors }}
{{ form.name }}
{{ form.email.errors }}
{{ form.email }}
{{ form.logo.errors }}
{{ form.logo }}
Ajax.js:
$(document).on('submit','#creationOptionsForm',function(e){
e.preventDefault();
var form_data = new FormData();
form_data.append('file',$('#creationOptionsForm').get(0).files);
$.ajax({
type:'POST',url:'/designer/results/',processData: false,contentType: false,data:{
organisation:$('#id_organisation').val(),email:$('#id_email').val(),logo:form_data,csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val(),},});
});
Views.py:
def creationResult(request):
if request.method == 'POST':
form = UserInfos(request.POST,request.FILES)
if form.is_valid():
photo = form.save()
...
...
(forms.py& urls.py配置正确,没有必要包含它们).
我想在调试(pdb)request.POST返回除logo之外的每个数据时,我对ajax.js的处理方式存在问题.
我在做什么吗?