Django Imagefield, принимающий все файлы

На моей странице регистрации я могу ввести файл, отличный от изображения, например -.txt или .py, а затем сохранить его. Несмотря на то, что моя модель является Imagefield, она позволяет вводить файлы, отличные от изображений. У меня есть другие модели с imagefield, но они работают нормально. Когда я пытаюсь сохранить файл txt или py, он выдает ошибку. Но на моей странице регистрации он сохраняется напрямую. Я также добавил валидаторы, но все равно не работает. Обратите внимание, что когда я пытаюсь отредактировать пользователя на странице администратора, он выдает ошибку

database

models.py :

    from django.contrib.auth.models import User
from django.core.validators import validate_image_file_extension
from django.db import models
from django.utils import timezone
from multiselectfield import MultiSelectField



# Create your models here.
class UserProfileInfo(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE, help_text=False)
    profile_pic = models.ImageField(upload_to="profile_pic/",validators=[validate_image_file_extension], null=True , blank=True)


    def __str__(self):
        return self.user.username

views.py

def register(request):
    accounts = User.objects.all()

    if request.method == "POST":
        user_form = UserForm(data=request.POST)
        profile_form = UserProfileInfoForm(data=request.POST)
        if user_form.is_valid() and profile_form.is_valid():

            user = user_form.save()
            user.set_password(user.password)

            user.is_active = False
            user.save()

            profile = profile_form.save(commit=False)
            profile.user = user
            if 'profile_pic' in request.FILES:
                profile.profile_pic = request.FILES['profile_pic']

            profile.save()

            messages.success(request, 'Your account has been created Sucessfully!!!!')
            messages.success(request, 'You can use your account after it has been approved by the admins.')
            return redirect("/")
        else:
            messages.error(request, user_form.errors, profile_form.errors)

    else:
        user_form = UserForm()
        profile_form = UserProfileInfoForm()

    return render(request, 'MyTestApp/registration.html', {
        'user_form': user_form,
        'profile_form': profile_form,
        "accounts": accounts}
                  )

и шаблон :

<div class="jumbotron ">
            <form  method="post" enctype='multipart/form-data' autocomplete="off">
                    {%csrf_token%}

                    <div class="form-group row">
                    {% if user.is_authenticated %}

                        <h2>LOGOUT TO CREATE A NEW ACCOUNT </h2>
                    {% else %}
                        <h2>Please Register Here: </h2>
                        </div>
                    <br>

                    <div class="form-group row">
                        <label >{{ user_form.username.label }}</label>
                        {{ user_form.username }}
                        {{user_form.username.errors}}
                    </div>

                    <div class="form-group row">
                        <label>{{ user_form.password.label }}</label>
                        {{ user_form.password }}
                        {{user_form.password.errors}}

                    </div>

                    <div class="form-group row">
                        <label >{{ user_form.email.label }}</label>
                        {{ user_form.email }}
                        {{user_form.email.errors}}
                    </div>

                    <div class="form-group row">
                        <label>Profile Picture:  &nbsp;</label>
                        {{ profile_form.profile_pic }}
                        {{ profile_form.profile_pic.errors}}
                    </div>
                <br>
                    
                    <div class="form-group row">
                        <input type="submit" name="userregister" value="Register" class="btn btn-dark">
                    </div>
                </form>

        </div
Вернуться на верх