У меня есть приложение библиотеки Django с несколькими книгами и авторами, здесь находится HTML-форма / author / create, используемая администратором для создания / обновления сведений об авторе (имя, фамилия, dob, изображение профиля), ссылаясь на MDNПриложение библиотеки.
Для этого у меня есть Общий вид на основе классов :
class AuthorCreate(PermissionRequiredMixin, CreateView):
permission_required = 'is_superuser'
model = Author
fields = '__all__'
success_url = reverse_lazy('author-detail')
class AuthorUpdate(PermissionRequiredMixin, UpdateView):
permission_required = 'is_superuser'
model = Author
fields = ['first_name', 'last_name', 'date_of_birth', 'date_of_death']
success_url = reverse_lazy('author-detail')
class AuthorDelete(PermissionRequiredMixin, DeleteView):
permission_required = 'is_superuser'
model = Author
success_url = reverse_lazy('authors')
И это шаблоны URL :
urlpatterns += [
path('author/create/', views.AuthorCreate.as_view(), name='author_create'), # redirects to author_form.html
path('author/<int:pk>/update/', views.AuthorUpdate.as_view(), name='author_update'), # redirects to author_form.html
path('author/<int:pk>/delete/', views.AuthorDelete.as_view(), name='author_delete'), # redirects to author_confirm_delete.html
]
И это author_form.html для создания / обновления сведений об авторе:
<form action="" method="post" class="form-horizontal" enctype="multipart/form-data">
{% csrf_token %}
//remaining code...
</form>
Теперь, после нажатия кнопки отправки в HTML-форме выше, она должна быть перенаправлена на author / idстраница (упоминается в success_url), однако основная проблема заключается в том, что новый автор не создается в первую очередь. Я не уверен как сохраняются данные HTML-формы независимо от того, сохраняется ли оно в первую очередь, потому что страница перенаправляется на success_url.
Код, указанный из MDN: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Forms