Add img field to version

This commit is contained in:
Benjamin 2023-03-24 14:21:30 +01:00
parent 1512cae857
commit 8cc2f903ee
5 changed files with 6 additions and 4 deletions

View file

@ -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']

View file

@ -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

View file

@ -19,7 +19,7 @@
{% endcomment %}
{% block title %}{{ title }}{% endblock %}
{% block main %}
<form action="" method="post" id="version-form">
<form action="" method="post" id="version-form" enctype="multipart/form-data">
{%csrf_token %}
{% if recipe_form %}
{{ recipe_form.as_div }}

View file

@ -32,4 +32,5 @@
{% endfor %}
</ul>
<p>{{ version.body }}</p>
<img src="{{ version.img.url }}" alt="">
{% endblock %}

View file

@ -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