FileExtensionValidator – 验证 Django 中的文件扩展名
Django 是一个高级Python Web 框架,它鼓励快速开发和简洁实用的设计。它由经验丰富的开发人员构建,解决了 Web 开发的大部分麻烦,因此您可以专注于编写应用程序,而无需重新发明轮子。它是免费和开源的。
如何在 Django 中使用 FileExtensionValidator?
为了演示 FileExtensionValidator 的使用,我们将创建一个文件上传应用程序,它将在后端验证“pdf”文件。
首先创建新项目。
django-admin startproject fileuploader
cd fileuploader
然后在项目中创建新的应用程序
python manage.py startapp main
然后在settings.py 中的INSTALLED_APPS 中添加应用程序名称
句法 :-
FileExtensionValidator(allowed_extensions, message, code)
如果在 allowed_extensions 中找不到 value.name 的扩展名(值是文件),则会引发代码为“invalid_extension”的 ValidationError。扩展名与 allowed_extensions 不区分大小写进行比较。
模型.py
Python3
from django.core.validators import FileExtensionValidator
class Post(models.Model):
PDF = models.FileField(null=True,
blank=True,
validators=[FileExtensionValidator( ['pdf'] ) ])
Python3
from django.forms import ModelForm
from .models import *
from django import forms
class PostForm(ModelForm):
class Meta:
model = Post
fields = __all__
Python3
from django.shortcuts import render,HttpResponse
from .forms import *
# Create your views here.
def home(request):
form = PostForm()
return render(request,"main/index.html",{"form":form})
HTML
Page Title
Welcome To GFG
表格.py
蟒蛇3
from django.forms import ModelForm
from .models import *
from django import forms
class PostForm(ModelForm):
class Meta:
model = Post
fields = __all__
视图.py
蟒蛇3
from django.shortcuts import render,HttpResponse
from .forms import *
# Create your views here.
def home(request):
form = PostForm()
return render(request,"main/index.html",{"form":form})
索引.html
HTML
Page Title
Welcome To GFG
用户只能在此文件字段中上传 pdf 文件。否则会抛出异常。此外,始终建议为此类要求添加客户端验证。本文说明了如何在服务器端验证文件上传。