FileExtensionValidator – Validar extensiones de archivo en Django

Django es un marco web Python de alto nivel que fomenta un desarrollo rápido y un diseño limpio y pragmático. Creado por desarrolladores experimentados, se encarga de gran parte de las molestias del desarrollo web, por lo que puede concentrarse en escribir su aplicación sin necesidad de reinventar la rueda. Es gratis y de código abierto.

¿Cómo usar FileExtensionValidator en Django?

Para demostrar el uso de FileExtensionValidator, crearemos una aplicación de carga de archivos que validará los archivos ‘pdf’ en el backend.

Primero crea un nuevo proyecto.

django-admin startproject fileuploader
cd fileuploader

Luego crea una nueva aplicación dentro del proyecto.

python manage.py startapp main

Luego agregue el nombre de la aplicación dentro de sus INSTALLED_APPS dentro de settings.py

Sintaxis:-

FileExtensionValidator(allowed_extensions, message, code)

Genera un error de validación con un código de ‘invalid_extension’ si la extensión de value.name (el valor es un archivo) no se encuentra en allow_extensions. La extensión se compara sin distinción entre mayúsculas y minúsculas con allow_extensions.

modelos.py

Python3

from django.core.validators import FileExtensionValidator
class Post(models.Model):
    PDF = models.FileField(null=True, 
                           blank=True, 
                           validators=[FileExtensionValidator( ['pdf'] ) ])

formularios.py

Python3

from django.forms import ModelForm
from .models import *
from django import forms
  
  
class PostForm(ModelForm):
    class Meta:
        model = Post
        fields = __all__

vistas.py

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})

índice.html

HTML

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<h2>Welcome To GFG</h2>
<form method="post">
    {% csrf_token %}
      {{form}}
  <button type="submit">Upload</button>
</form>
</body>
</html>

El usuario solo puede cargar archivos pdf en este campo de archivo. De lo contrario, arrojará una excepción. Además, siempre se recomienda agregar la validación del lado del cliente para dichos requisitos. Este artículo ilustra cómo puede validar las cargas de archivos al final del servidor.

Publicación traducida automáticamente

Artículo escrito por vivekpisal12345 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *