相关疑难解决方法(0)

Django:验证上传文件的文件类型

我有一个应用程序,让人们上传文件,表示为UploadedFiles.但是,我想确保用户只上传xml文件.我知道我可以使用magic,但我不知道在哪里进行此检查 - 我无法将其放在clean函数中,因为在clean运行时文件尚未上传,据我所知.

这是UploadedFile模型:

class UploadedFile(models.Model):
    """This represents a file that has been uploaded to the server."""
    STATE_UPLOADED = 0
    STATE_ANNOTATED = 1
    STATE_PROCESSING = 2
    STATE_PROCESSED = 4
    STATES = (
        (STATE_UPLOADED, "Uploaded"),
        (STATE_ANNOTATED, "Annotated"),
        (STATE_PROCESSING, "Processing"),
        (STATE_PROCESSED, "Processed"),
    )

    status = models.SmallIntegerField(choices=STATES,
        default=0, blank=True, null=True) 
    file = models.FileField(upload_to=settings.XML_ROOT)
    project = models.ForeignKey(Project)

    def __unicode__(self):
        return self.file.name

    def name(self):
        return os.path.basename(self.file.name)

    def save(self, *args, **kwargs):
        if not self.status:
            self.status = …
Run Code Online (Sandbox Code Playgroud)

django django-models django-uploads

31
推荐指数
4
解决办法
2万
查看次数

标签 统计

django ×1

django-models ×1

django-uploads ×1