0
- models.py -Django的內容類型和文件大小限制
class resmodel(models.Model):
fname = models.CharField(max_length=20)
lname = models.CharField(max_length=20)
file_header = models.CharField(max_length=20)
upload_file = ContentTypeRestrictedFileField(
upload_to='documents', ]
content_types=['documents/msword', 'documents/pdf', 'documents/vnd.oasis.opendocument.text'],
max_upload_size=5242880,blank=True, null=True)
imag = models.ImageField(upload_to='images')
- views.py -
def resview(request):
if request.method == "POST":
fname = request.POST.get('fname')
lname = request.POST.get('lname')
file_header = request.POST.get('file_header')
upload_resume = request.FILES['upload_resume']
imag = request.FILES['im']
if upload_file and imag:
details = resmodel(file_header=file_header, fname=fname, lname=lname, upload_file=upload_file, imag=imag)
details.save()
return HttpResponseRedirect('/profile/save/success/')
else:
return render_to_response('file.html')
- file.html - -
<form action="." method="post" enctype="multipart/form-data">{% csrf_token %}
<table border="0" align="center" cellsapcing="1" cellspadding="1">
<tr>
<td colspan="2"><h3> Personal Information</h3></td>
<td>First Name</td>
<td><input type="text" name="fname" /></td>
<td>Last Name</td>
<td><input type="text" name="lname" /></td>
<td>Resume Header<sub>(250 words max)</sub></td>
<td><input type="text" name="file_header"></td>
<td>Upload Resume<sub>(.doc/.docx, rtf, pdf, txt)</sub></td>
<td><input type="file" name="upload_resume" ></td>
<td>Upload image</td>
<td><input type="file" name="im" ></td>
<td>
<input type="submit" value="SUBMIT">
<input type="reset" value="RESET">
</td>
</tr>
</table>
</form>
F或「ContentTypeRestrictedFileField」我跟着this link
但是,在這裏我能夠上傳所有文件和文件夾在imag和upload_file字段。 如何限制?任何人都可以幫我解決這個問題嗎? 謝謝。
WHAT存在限制內容TYPE與所述一個ü給上述(驗證表單)。請理解我的問題。 – USER 2013-04-18 09:44:13
使用表單的關鍵在於它負責驗證和數據轉換。表單將爲ContentTypeRestrictedFileField字段限制具有錯誤內容類型的文件。 – 2013-04-18 10:26:20