Django не загружает картинку по умолчанию. У меня корень MEDIA подключен к урлам

Я хочу, чтобы поле imageField загружало картинку по умолчанию, если она не загружена пользователем. Когда я загружаю что-то в форму imageField, они попадают в нужную папку. Когда я хочу, чтобы загружалась картинка по умолчанию, она просто не появляется. Я проверил онлайн, но решения, которые я нашел, указывают на вещи, которые я уже сделал (я думаю) правильно.

models.py:

class Ingredients(models.Model):
type = models.IntegerField(choices=ingredientType)
name = models.CharField(max_length=100)
image = models.ImageField(default='no-photo-available-hi.png')

def __str__(self):
    return self.name


class DrinkRecipe(models.Model):
    name = models.CharField(max_length=100)
    ingredients = models.ManyToManyField(Ingredients)
    utensil = models.IntegerField(choices=requiredUtensil, default=0)
    preparation = models.CharField(max_length=1000)
    image = models.ImageField(default='no-photo-available-hi.png')

    def __str__(self):
        return self.name

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

forms.py:

class DrinkForm(forms.Form):
name = forms.CharField(max_length=100, label="Name:")
utensil = forms.ChoiceField(choices=requiredUtensil, label="Required utensil:")
ingredients = forms.ModelMultipleChoiceField(
    queryset=Ingredients.objects.all(),
    widget=forms.CheckboxSelectMultiple()
)
preparation = forms.CharField(widget=forms.Textarea)
image = forms.ImageField(required=False)


class IngredientForm(forms.Form):
    name = forms.CharField(max_length=100, label="Ingredient name")
    type = forms.ChoiceField(choices=ingredientType)
    image = forms.ImageField(required=False)

settings.py:

   STATIC_URL = '/static/'
   STATIC_ROOT = os.path.join(BASE_DIR, "static")

   MEDIA_URL = '/media/'
   MEDIA_ROOT = os.path.join(BASE_DIR, 'static/shakerApp/media')

urls.py проекта (не приложения):

urlpatterns = [...] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Каталог проекта:

|Project
    |Project folder
    |App folder
    |Static
       |AppName
          |media
             |no-photo-available-hi.png
|venv

Попробуйте этот пакет: https://pypi.org/project/django-default-imagefield/

"pip install django-default-imagefield"

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