13.edit.html

Python

edit.html

<form method="POST" action="{% url 'app:edit' app.id %}">
    {% csrf_token %}
    {{ form.non_field_errors }}
    <div>
        {{ form.title.label_tag }}
        {{ form.title }}
        {{ form.title.errors }}
    </div>
    <div>
        {{ form.text.label_tag }}
        {{ form.text }}
        {{ form.text.errors }}
    </div>
    <div>
        {{ form.image.label_tag }}
        {{ form.image }}
        {{ form.image.errors }}
    </div>
    <button type="submit">UPDATE</button>
</form>

views.py

def edit(request, id):
    app = get_object_or_404(App, id=id)
    if request.method == 'POST':
        form = AppForm(request.POST, request.FILES, instance=app)
        if form.is_valid():
            form.save()
            return redirect('app:detail', id=app.id)
    else:
        form = AppForm(instance=app)
    return render(request, 'app/edit.html'), {'app':app, 'form':form})
BACK