将FileField django验证为有效的pdf

时间:2012-06-06 23:23:39

标签: django django-models

我是django的新手,我希望你能指导我,我有这样的模型定义:

class Documents(models.Model): 
    name = models.CharField(max_length=255)
    date = models.DateField()
    path = models.FileField(upload_to='documents/')

但我需要将其验证为有效的PDF文件,你能指导我如何做到这一点吗?

1 个答案:

答案 0 :(得分:1)

您应该在上传时验证文件。以下是使用自定义模型字段的简单解决方案:http://djangosnippets.org/snippets/2206/

所以你的代码是:

...
path = ContentTypeRestrictedFileField(
    upload_to='documents/',
    content_types = ['application/pdf'])
....

即使你想创建更复杂的验证,这也是一个好的开始,因为我猜这个验证只使用文件扩展名。