如何在 Django 中创建和使用 DeleteView?

在本文中,我们将介绍如何在 django 中实现如何使用 deleteview。
你可以理解一个django deleteview例子的概念。本教程将通过示例为您提供如何在 django 中创建和使用 deleteview 的简单示例。
让我们讨论一下基于 django deleteview 类的视图示例。

与基于函数的视图相比,基于 Django 类的视图管理起来更简单、更高效。具有大量代码行的基于函数的视图可以转换为仅包含几行代码的基于类的视图。

因此,在此示例中,DeleteView指的是从数据库中删除表的特定实例的视图(逻辑)。它用于删除数据库中的条目

让我们看看下面的例子,你将学习如何在 django 中使用 deleteview。

第 1 步:创建项目

在这一步中,我们将使用 django-admin 创建一个新的 django 项目。返回命令行界面并运行以下命令:

 django-admin startproject example 

第 2 步:创建应用程序

现在我们将创建一个名为core的应用程序来存储帖子名称列表。我们有意保持基本。使用Control+c停止本地服务器并使用startapp命令创建这个新应用程序。

 python3 manage.py startapp core 

第三步:更新setting.py

接下来,在我们的settings.py文件中更新INSTALLED_APPS以通知 Django 该应用程序。

接下来需要在settings.py文件中添加如下:
settings.py

....
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',
]

第 4 步:创建模型

在这一步中,我们将需要用于在文章表中存储文章详细信息的数据库模型。打开 models.py 文件并添加以下代码: core/models.py

from django.db import models

class Article(models.Model):
    title= models.CharField(max_length=300)
    content= models.TextField()
    pub_date = models.DateTimeField(auto_now_add= True)

    def __str__(self):
        return self.title

好的,一切就绪。我们可以为此更改生成一个迁移文件,然后通过 migrate 将其集成到我们的数据库中。

python manage.py makemigrations 
python manage.py migrate 

第 5 步:创建视图

在这一步中,我们需要配置我们的视图。ArticleDeleteView页面将模板和定义文章模型以及打开views.py文件并添加:
core/models.py

from django.shortcuts import render
from django.views.generic.edit import DeleteView
from .models import *

class ArticleDeleteView(DeleteView):
    model = Article

    template_name = "core/article_confirm_delete.html"

    success_url ="/"

第 6 步:创建模板

接下来,然后使用您的文本编辑器创建新的模板文件:core/article_confirm_delete.html文件并添加: core/article_confirm_delete.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Profile Image</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css">
    <style type="text/css">
        body{
            background-color: #f7fcff;
        }
    </style>
</head>
<body>
    <div class="container mt-5 pt-5">
        <div class="row d-flex justify-content-center">
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">
                        <h4>How to Use DeleteView in Django? - <span class="text-primary">Tuts-Station.com</span></h4>
                    </div>
                    <div class="card-body">
                        <form method="post">{% csrf_token %}
                            <p>Are you sure you want to delete <strong>"{{ object }}"</strong>?</p>
                            <button type="submit" class="btn btn-danger">Confirm</button>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

第 7 步:创建 URL

在本节中,我们需要核心应用程序中的urls.py文件,但是 Django 不会使用 startapp 命令为我们创建一个。使用您的文本编辑器创建core/urls.py,在此文件中,我们将为每个文件导入尚未创建的函数 – ArticleDeleteView请注意,我们为每个文件设置了一个可选的 URL 名称。

这是它的样子:
core/urls.py

from django.urls import path
from .views import ArticleDeleteView

urlpatterns = [
    path('<pk>/delete/', ArticleDeleteView.as_view()),
]

接下来,我们需要为我们的示例应用程序添加一个 URL 路径,这可以通过导入 include 并为其设置路径来完成。 example/urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('core.urls')),
]

运行服务器

在这一步中,我们将运行本地开发服务器来玩我们的应用程序,而无需将其部署到网络上。

 python manage.py runserver 

接下来,使用 Web 浏览器访问 http://localhost:8000/{id}/delete/ 地址。

我希望它会帮助你……

发表评论

邮箱地址不会被公开。 必填项已用*标注