Не удается обновить ImagesField () по форме в Django - PullRequest
0 голосов
/ 21 июня 2020

Я не могу обновить поле изображений с данными eidt. Все может работать, за исключением того, что я пытался обновить изображение продукта, но Интернет изменил только столбцы текстовых данных, а файл не изменился. views.py

def update_book(request, book_id):
    book_id = int(book_id)
    try:
        book_sel = Book.objects.get(id = book_id)
    except Book.DoesNotExist:
        return redirect('index')
    book_form = BookCreate(request.POST or None, instance = book_sel)
    if book_form.is_valid():
       book_form.save()
       return redirect('index')
    return render(request, 'upload_form.html', {'upload_form':book_form})

это мой html

{% extends 'library.html' %} {% block content %}
<h1 class="display-3" style="background-color:#000000;color:#FFFF99;">Update Books</h1>
<form method='POST' enctype="multipart/form-data">
    {% csrf_token %}
    <table class='w-50 table table-light' style="border-radius:10px;background-color:#FFFF99;">
        {% for field in upload_form %}
        <tr>
            <th>{{field.label}}</th>
            <td>{{ field }}</td>
        </tr>
        {% endfor %}
    </table>
    <button type="submit" class="btn btn-lg btn-warning">Submit</button>
</form>
{% endblock %}

1 Ответ

0 голосов
/ 21 июня 2020

Вам необходимо изменить views.py:

# book_form = BookCreate(request.POST or None, instance = book_sel)
book_form = BookCreate(request.POST, request.FILES, instance = book_sel)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...