Сохранение и редирект в Django
После успешного сохранения записи обычно не оставляют пользователя на той же POST-странице, а перенаправляют: на список или на карточку созданной записи.
Пример с постом: сохранили - редирект на детальную страницу:
from django.shortcuts import render, redirect
from main.forms import PostForm
def post_create(request):
if request.method == 'POST':
form = PostForm(request.POST)
if form.is_valid():
post = form.save()
return redirect('post', id=post.id)
else:
form = PostForm()
return render(request, 'post_form.html', {
'form': form,
})
Если форма невалидна - снова
render с той же формой
(ошибки покажутся в шаблоне).
Редирект только после успешного
save().
Сделайте создание работника
через ModelForm. После
успешного save() -
редирект на список работников.
После сохранения редиректите
на карточку работника по
slug.
Сделайте редактирование работника: при успехе - редирект на его карточку, при ошибках валидации - снова форма без редиректа.