DJANGO РЕДАКТИРОВАНИЕ ПОСТА

Django имеет множество встроенных функций для создания приложений веб-сайтов, включая возможность редактирования существующих постов.

Для начала, создайте представление (view) для редактирования поста:

def edit_post(request, post_id): post = Post.objects.get(id=post_id) if request.method == 'POST': form = PostForm(request.POST, instance=post) if form.is_valid(): form.save() return redirect('post_detail', post_id=post.id) else: form = PostForm(instance=post) return render(request, 'edit_post.html', {'form': form})

Здесь мы получаем объект поста с использованием идентификатора, переданного в качестве аргумента функции (post_id). Затем мы проверяем метод запроса (request.method) и, если это POST-запрос, создаем экземпляр формы (PostForm) и проверяем ее на валидность. Если форма допустима, мы сохраняем изменения и перенаправляем пользователя на страницу просмотра поста. Если это GET-запрос, мы просто создаем экземпляр формы с текущими данными поста и передаем ее в качестве контекста в шаблон (edit_post.html).

Создайте шаблон (template) edit_post.html для редактирования поста:

{% extends 'base.html' %}{% block content %}

Edit Post

{% csrf_token %} {{ form.as_p }}
{% endblock %}

В этом шаблоне используется базовый шаблон (base.html) и вызывается форма с помощью функции {{ form.as_p }}. Мы также включаем токен csrf_token для обеспечения безопасности формы.

Вот и все! Теперь вы можете редактировать посты в Django.

9. Уроки Django 2 - Изменение моделей Post, Tag через форму и Миксин (2018)

36 Изменение и удаление записей. Курс по Django 3

Junior Python Developer: полный разбор собеседования и ответы на наиболее частые вопросы интервью

5.12 Формы в Django GET POST запросы

8. Уроки Django 2 - Создание Постов через форму, генерация слага, Миксин (2018)

Изучение Django 3 / Урок #11 - Редактирование и удаление записей. Завершение

#5. CRUD - основы ORM по работе с моделями - Django уроки

Урок 72(FoodTales): Добавление , Удаление и редактирование постов автора.

BLGPG-DB352EB40387-24-09-19-20

Новые материалы: