diff --git a/recipes/forms.py b/recipes/forms.py index e410308..9889b55 100644 --- a/recipes/forms.py +++ b/recipes/forms.py @@ -38,7 +38,7 @@ class VersionForm(ModelForm): class Meta: model = Version - fields = ['label', 'slug', 'body', 'author'] + fields = ['label', 'slug', 'body', 'author', 'img'] def clean_slug(self): slug = self.cleaned_data['slug'] diff --git a/recipes/models.py b/recipes/models.py index bb9728f..2035fd6 100644 --- a/recipes/models.py +++ b/recipes/models.py @@ -38,6 +38,7 @@ class Version(models.Model): user = models.ForeignKey(User, on_delete=models.PROTECT, null=False, blank=False) author = models.CharField(max_length=30, blank=True) recipe = models.ForeignKey(Recipe, on_delete=models.PROTECT, null=False, blank=False, related_name='versions') + img = models.ImageField(null=True, blank=True) def __str__(self) -> str: return self.recipe.title + ' - ' + self.label diff --git a/recipes/templates/recipe-form.html b/recipes/templates/recipe-form.html index 0fe7ccd..663bb3c 100644 --- a/recipes/templates/recipe-form.html +++ b/recipes/templates/recipe-form.html @@ -19,7 +19,7 @@ {% endcomment %} {% block title %}{{ title }}{% endblock %} {% block main %} -
+ {%csrf_token %} {% if recipe_form %} {{ recipe_form.as_div }} diff --git a/recipes/templates/version.html b/recipes/templates/version.html index 8e15ac7..9a8fe08 100644 --- a/recipes/templates/version.html +++ b/recipes/templates/version.html @@ -32,4 +32,5 @@ {% endfor %}

{{ version.body }}

+ {% endblock %} diff --git a/recipes/views.py b/recipes/views.py index 2efaf1f..0d2b7d3 100644 --- a/recipes/views.py +++ b/recipes/views.py @@ -121,7 +121,7 @@ def add_version(request, slug): version_initial = {} if request.method == 'POST': - version_form = VersionForm(request.POST, prefix=VERSION_FORM_PREFIX, initial=version_initial, author_placeholder=get_name_of_user(request.user)) + version_form = VersionForm(request.POST, request.FILES, prefix=VERSION_FORM_PREFIX, initial=version_initial, author_placeholder=get_name_of_user(request.user)) ingredients_formset = IngredientFormSet(request.POST, queryset=Ingredient.objects.none(), prefix=INGREDIENTS_FORMSET_PREFIX) version_form.recipe_id = recipe.id # type: ignore @@ -146,7 +146,7 @@ def edit_version(request, slug_recipe, slug_version): return redirect(f"/accounts/login/?next={request.path}") if request.method == 'POST': - version_form = VersionForm(request.POST, prefix=VERSION_FORM_PREFIX, instance=version, author_placeholder=get_name_of_user(request.user)) + version_form = VersionForm(request.POST, request.FILES, prefix=VERSION_FORM_PREFIX, instance=version, author_placeholder=get_name_of_user(request.user)) ingredients_formset = IngredientFormSet(request.POST, queryset=version.ingredients.all(), prefix=INGREDIENTS_FORMSET_PREFIX) # type: ignore version_form.recipe_id = recipe.id # type: ignore