So I want the imageField to load a default picture when one is not uploaded by user. When I upload something in the imageField form, they end up in the correct folder. When I want it to load a default pic, it simply doesn't show up. I checked online, but the solutions I found point to things that I already have done (I think) right.
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')
project's (not app's) urls.py:
urlpatterns = [...] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Project's directory:
|Project
|Project folder
|App folder
|Static
|AppName
|media
|no-photo-available-hi.png
|venv