обновление работает, но форма шаблона не показывает существующие данные. django updateview не показывает существующие данные для формы. когда страница обновления показывает только существующий файл, но данные объекта не отображаются. updateview не может отправить существующие данные в форму
view.py
from django.shortcuts import render, redirect
from django.core.files.storage import FileSystemStorage
from .forms import BookForm
from .models import Book
from django.views.generic import TemplateView, ListView, CreateView, UpdateView
from django.urls import reverse_lazy
class BookUpdate(UpdateView):
model = Book
form_class = BookForm
success_url = reverse_lazy('class_book_list')
template_name = 'updatebook.html'
model.py
from django.db import models
from django.urls import reverse
# Create your models here.
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
pdf = models.FileField(upload_to='books/pdfs/')
cover = models.ImageField(upload_to='books/covers/', null=True, blank=True)
def __str__(self):
return self.title
forms.py
from django import forms
from .models import Book
class BookForm(forms.ModelForm):
class Meta:
model = Book
fields = ('title', 'author', 'pdf', 'cover')
urls.py
from django.contrib import admin
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static
from . import views
urlpatterns = [
path('books/', views.book_list, name='book_list'),
path('books/upload/', views.upload_book, name='upload_book'),
path('books/<int:pk>/',views.delete_book, name='delete_book'),
path('class/books/',views.BookListView.as_view(), name='class_book_list'),
path('class/books/upload/',views.UploadBookView.as_view(), name='class_upload_book'),
path('class/books/update/<int:pk>/',views.BookUpdate.as_view(), name='class_update_book'),'''
updatebook. html
{% load crispy_forms_tags %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h2> Upload Book to Database</h2>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{form | crispy}}
<button type="submit" >Update</button>
</form>
</body>
</html>
html форма не может отображать существующие данные из базы данных, пожалуйста, помогите