Создание интерфейсов CRUD с сухими узорами в Джангу.
В этом руководстве мы узнаем, как использовать классические представления для создания интерфейсов CRUD для любой модели.
В конце этого учебника мы сможем добавить, список, просмотр, обновление и удаление определенная модель (здесь Книга
и проект основан на Библиотека
). Этот учебник может быть расширен для создания интерфейсов на основе CRUD для любой модели.
Gif Showcasing Crud Interfaces для модели книги
У Django 5 Классовые виды на базе
- ListView – для просмотра списка объектов
- Createview – создать определенный объект
- DetailView – для просмотра определенного объекта
- UpdateView – обновить определенный объект
- Deleteview – удалить определенный объект
Давайте рассмотрим, что мы создаем библиотечный проект. У нас будет модель книги в приложении под названием магазин
Отказ
Мы создадим приложение Django, которое будет использовать представления на основе класса для создания интерфейсов CRUD вокруг Книга
модель. Полный код для репо можно найти здесь
Мы начнем с создания списка всех Книга
Объекты, хранящиеся в базе данных.
Посмотреть список
Мы будем использовать ListView
Создать новый вид под названием BookListView
который также будет поддерживать пагинацию.
В приведенном выше коде мы видим, что мы переопределяем get_context_data
Чтобы добавить поддержку Pagination, пройдя в дополнительный параметр запроса под названием страница.
Мы добавим URL для BookListView в магазин/URLS.PY.
Нам нужно убедиться, что магазин
URL-адреса приложений включены в URL-адреса проекта. Если нет, нам придется включать его.
Теперь мы напишем код шаблона. Мы используем Bootstrap V4 и иметь базовый шаблон под названием __base.html
из которого мы распространяем каждый другой шаблон. __base.html
похоже
Теперь мы создадим Книга/список .html
Отказ
Мы можем видеть, что Книга/список .html
включает в себя общий шаблон _pagination.html
Отказ
С этим нашим первым классическим видом на класс ListView
завершено.
ListView для книг
Createview.
Далее мы добавим поддержку для создания нового Книга
Используя Createview
Отказ
Мы добавим следующий код в представлениях.
Мы добавим новый URL для вышеуказанного представления.
Теперь мы добавим шаблон Книга/create.html
Отказ
Это завершает наш второй класс по виду Createview
Отказ Мы видим, что базирующиеся классовые взгляды помогают нам достичь Сухой
Узор кода.
Createview для книги
DetailView.
Теперь мы создадим подробную информацию, используя DetailView
на основе классовых видов. Мы добавим следующий код в представлениях.
Мы добавим следующий URL-адрес, чтобы включить вышеупомянутый вид детализации.
Теперь мы добавим новый шаблон Книга/Detail.html.
Это завершает наш подробный вид.
DetailView для книги
UpdateView.
Теперь мы добавим UpdateView
для этого.
Мы добавим следующий код в представлениях.
Мы добавим URL для этого представления.
Мы добавим Книга/update.html
шаблон.
Это завершает наше UpdateView
Отказ
UpdateView для книги
Deliteview.
Теперь мы добавим последнее Deleteview
Отказ
Мы добавим следующий код в представлениях.
Мы добавим URL для представления вышеуказанного
Мы добавим шаблон книга/delete.html
Для приведенного выше взгляда
Это завершает наше Deleteview
Отказ
Deleteview для книги
Вывод
В этом руководстве мы узнали, как использовать представления на основе Django Class для создания интерфейсов CRUD для данной модели. Этот руководство коснулся основы и очень мало сосредоточился на укладке и расширении.
Расширения
- А Новое репо создается с помощью этого учебника и Система дизайна аргона Отказ Большая часть изменений кода находится только в шаблонах.
Оригинал: “https://dev.to/taranjeet/class-based-views-in-django-3bc”