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