РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pydjSpRdSr 13 of 204 menu

Сохранение и редирект в 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.

Сделайте редактирование работника: при успехе - редирект на его карточку, при ошибках валидации - снова форма без редиректа.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить