2
我試圖建立個人資料圖像上傳字段:django的ImageField的上傳總是抱怨沒有文件被選擇
class SignUpForm(forms.Form):
username = forms.CharField(max_length=30, \
error_messages = {'required': 'Need a username'})
email = forms.EmailField(max_length=30, \
error_messages = {'required': 'Need an email', 'invalid': 'Email is invalid'})
profile_image = forms.ImageField(error_messages = {'required': 'Please select a profile image'})
和負載數據在views.py:
if request.method != 'POST':
return HttpResponseServerError("Only POST requests allowed.")
form = SignUpForm(request.POST, request.FILES)
logger.info(request.FILES) # this always prints empty '{}'
形式是:
form(enctype="multipart/form-data", method='post')
label(for='username') Username
input#name(name='username', type='text')
label(for='email') Email
input#email(name='email', type='email')
label(for='profile_image') Profile Image
input#profile_image(name='profile_image', type='file')
我提交的數據的方法是在JS:
$('form').submit(function(e){
e.preventDefault();
$("#signup-errors").hide();
var form = $(e.target);
var post = $.post('/user/create/', form.serialize(), redirectIfSuccess);
post.fail(function(xhr, ajaxOptions, thrownError) {
$("#signup-errors").html(xhr.getResponseHeader("errors")).show();
});
});
有人可以提示我什麼可能是錯的?我已經搜查和採取的步驟,但這些文件從來不張貼通... :(
感謝!
對不起,我錯過了js部分,現在編輯! – Frost