Удалить представление - представления на основе функций Django
Удалить представление относится к представлению (логике) для удаления определенного экземпляра таблицы из базы данных. Он используется для удаления записей в базе данных, например, при удалении статьи на geeksforgeeks. Таким образом, представление «Удалить» должно отображать подтверждающее сообщение для пользователя и автоматически удалять экземпляр. Django предоставляет необычную поддержку для удаления представлений, но давайте проверим, как это делается вручную с помощью представления на основе функций. Эта статья посвящена Delete View, в которой используются такие концепции, как Django Forms, Django Models.
Для удаления представления нам нужен проект с некоторыми моделями и несколькими экземплярами, которые мы можем использовать для удаления.
Django Delete View - Представления на основе функций
Иллюстрация того, как создать и использовать представление удаления на примере. Рассмотрим проект под названием geeksforgeeks, в котором есть приложение под названием geeks.
Refer to the following articles to check how to create a project and an app in Django.
- How to Create a Basic Project using MVT in Django?
- How to Create an App in Django ?
После того, как у вас есть проект и приложение, давайте создадим модель, экземпляры которой мы будем создавать с помощью нашего представления. В geeks / models.py,
Python3
# import the standard Django Model # from built-in library from django.db import models # declare a new model with a name "GeeksModel" class GeeksModel(models.Model): # fields of the model title = models.CharField(max_length = 200 ) description = models.TextField() # renames the instances of the model # with their title name def __str__( self ): return self .title |
После создания этой модели нам нужно запустить две команды, чтобы создать для нее базу данных.
Python manage.py makemigrations Python manage.py migrate
Теперь давайте создадим несколько экземпляров этой модели с помощью оболочки, запустим форму bash,
Оболочка Python manage.py
Введите следующие команды
>>> из geeks.models импортировать GeeksModel >>> GeeksModel.objects.create ( title = "title1", description = "description1"). save () >>> GeeksModel.objects.create ( title = "title2", description = "description2"). save () >>> GeeksModel.objects.create ( title = "title2", description = "description2"). save ()
Теперь у нас все готово для бэкенда. Убедитесь, что экземпляры были созданы с http: // localhost: 8000 / admin / geeks / geeksmodel /
Now let’s create our delete view first, In geeks/views.py
Python3
from django.shortcuts import (get_object_or_404, render, HttpResponseRedirect) from .models import GeeksModel # delete view for details def delete_view(request, id ): # dictionary for initial data with # field names as keys context = {} # fetch the object related to passed id obj = get_object_or_404(GeeksModel, id = id ) if request.method = = "POST" : # delete object obj.delete() # after deleting redirect to # home page return HttpResponseRedirect( "/" ) return render(request, "delete_view.html" , context) |
Теперь сопоставление URL-адреса с этим представлением с регулярным выражением id,
В гиках / urls.py
Template for delete view includes a simple form confirming whether user wants to delete the instance or not. In geeks/templates/delete_view.html,
HTML
< div class = "main" > <!-- Create a Form --> < form method = "POST" > <!-- Security token by Django --> {% csrf_token %} Are you want to delete this item ? < input type = "submit" value = "Yes" /> < a href = "/" >Cancel </ a > </ form > </ div > |
Все готово, теперь давайте проверим, работает он или нет, зайдите на http: // localhost: 8000/2 / delete
Проверим, удален ли экземпляр,
Это представление можно реализовать любым способом согласно требованиям, используя функцию obj.delete () .
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.