首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Django `DeleteView`中传递`success_url`的参数(slug)

在Django的DeleteView中,可以通过重写get_success_url()方法来传递success_url的参数(slug)。DeleteView是Django提供的一个通用视图,用于处理删除操作。

首先,在你的视图类中继承DeleteView,然后重写get_success_url()方法。在该方法中,你可以获取到被删除对象的slug,并将其作为参数传递给success_url

以下是一个示例代码:

代码语言:txt
复制
from django.views.generic import DeleteView
from django.urls import reverse_lazy
from .models import YourModel

class YourDeleteView(DeleteView):
    model = YourModel
    success_url = reverse_lazy('your_success_url_name')

    def get_success_url(self):
        # 获取被删除对象的slug
        slug = self.kwargs['slug']
        # 构建带有slug参数的success_url
        success_url = reverse_lazy('your_success_url_name', kwargs={'slug': slug})
        return success_url

在上述代码中,YourDeleteView继承自DeleteViewmodel属性指定了要删除的模型,success_url属性指定了默认的成功跳转地址。

然后,通过重写get_success_url()方法,我们可以获取到被删除对象的slug,然后使用reverse_lazy()函数构建带有slug参数的success_url

最后,将success_url返回即可。

请注意,上述示例中的your_success_url_name需要替换为你实际的成功跳转地址的名称。

推荐的腾讯云相关产品:腾讯云服务器(CVM),腾讯云数据库MySQL版(TencentDB for MySQL),腾讯云对象存储(COS),腾讯云容器服务(TKE)等。你可以通过访问腾讯云官方网站获取更多关于这些产品的详细信息和介绍。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django内置的通用类视图CBV及示例

,各种有用的对象被存储在self上,同request(self.request)一样,其中包含了从URLconf中获取到的位置参数(self.args)和关键字参数(self.kwargs)....: 指定在上下文中使用的变量的名称. pk_url_kwarg: URLconf中,包含逐渐的关键字参数的名称.默认为'pk'. get_context_data:返回显示对象的上下文数据....参数,如果找到了这个参数,该方法使用这个参数的值执行一个基于逐渐的查询.如果这个参数没有找到,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug的查询.当query_pk_and_slug...该视图用法与CreateView基本相同,仅在BaseUpdateView中对get()和post()的内部实现有区别. 6.DeleteView ?...根据报错的提示,我们可以直接在视图下给success_url参数赋值,或在模型中去定义get_absolute_url()方法,去设置成功后跳转的url。

3.2K10

Django内置的通用类视图及实例

,各种有用的对象被存储在self上,同request(self.request)一样,其中包含了从URLconf中获取到的位置参数(self.args)和关键字参数(self.kwargs)....: 指定在上下文中使用的变量的名称. pk_url_kwarg: URLconf中,包含逐渐的关键字参数的名称.默认为'pk'. get_context_data:返回显示对象的上下文数据....参数,如果找到了这个参数,该方法使用这个参数的值执行一个基于逐渐的查询.如果这个参数没有找到,该方法查找slug_url_kwarg参数,使用slug_field字段执行针对slug的查询.当query_pk_and_slug...该视图用法与CreateView基本相同,仅在BaseUpdateView中对get()和post()的内部实现有区别. 6.DeleteView ?...根据报错的提示,我们可以直接在视图下给success_url参数赋值,或在模型中去定义get_absolute_url()方法,去设置成功后跳转的url。

2.9K40
  • 利用Django通用类视图(class

    对于这些场景,Django提供了几个class-based view来处理: ListView UpdateView CreateView DeleteView 这几个类视图分别对应着查询ListView...ListView可以通过你给出的model以及想要展示的model中的field,在对应的数据库中查询出对应的对象存放在List对象中,并传递给template渲染。...如果你在Django设置settings.py中的TEMPLATES下配置了'APP_DIRS': True 的话,Django默认会去渲染/project/app_name/templates/app_name...在web开发中约定俗成的规则是,对于查询类的请求用get,对于修改类的请求用post。Django在设计的时候也遵循了这个原则,所以以下的每个view中,都具有支持get和post的函数。...而在post请求发送过来的时候,Django会根据model里的field属性去做合法性校验(类型是否正确、字段是否必填等),在校验成功以后重定向至success_url。

    1.5K20

    django URL (路由系统)

    可选的要传递给视图函数的默认参数(字典形式) 一个可选的name参数 无命令分组 举例: 修改mysite目录下的urls.py,最后一行添加 urlpatterns = [     path('admin...例子里的year_archive函数接收到的year参数作为参数 并且会自动转换year为整型而不是字符串。...其中converter为路径转换器,name为参数名,如。对于捕获的值没有路径转换器,那么它会匹配除了斜杠"/"外的所有字符作为捕获的值。     3.url不需要以斜杠开头。.../ 页面输出:2003/3/building-a-django-site Path Converter url里捕获的值使用Path Converter来对值做转换,如类型转换。...slug:匹配字母、数字以及横杠、下划线组成的字符串。     uuid:匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。

    1.6K30

    django中ModelForm多表单组合的解决方案

    所以,基本表单的功能看BaseForm已经足够了。 2、从模型创建表单 django对于MVC中的C与M间的映射是非常体贴的,集中体现中Model模型中(比如模型的权限与用户认证)。...中告诉django需要在表单中创建哪些字段。..._save_m2m           return self.instance   所以,对于ModelForm我们可以传入instance参数初始化表单,可以调用save()方法直接将从html里得到的表单数据持久化到数据库中...3、通用视图 django.views.generic.ListView和django.views.generic.edit下的CreateView, UpdateView, DeleteView都是通用视图...再写视图,这里要重写2个方法: class PrimeContractAdd(CreateView):       success_url = ...

    3.4K20

    python-Django-URL 路由(一)

    Django的URL路由系统还支持命名URL模式,这允许开发人员在应用程序中使用可重用的URL模式。在Django中,URL路由规则通常定义在一个名为urls.py的文件中。...在Django中,URL路由规则通常定义在一个名为urls.py的文件中。...在Django的URL路由规则中,可以使用以下特殊字符:int:pk:表示一个整数值,可以使用pk作为变量名slug:slug:表示一个文本值,可以使用slug作为变量名str:username:表示一个字符串值...第三个URL模式使用一个命名捕获组来表示一个整数值,并将其传递给视图函数。第四个URL模式使用一个命名捕获组来表示一个包含连字符和单词字符的文本值,并将其传递给视图函数。...Django还提供了许多其他的URL路由选项和功能,例如在视图函数中使用参数来生成URL,使用URL模式的命名空间来区分应用程序和使用可选参数来定义URL模式。

    31130

    Django路由控制URL详解

    关键字参数由正则表达式匹配的命名组组成,但是可以被django.conf.urls.url()的可选参数kwargs覆盖。...Pslug>[\w-]+)/$', views.article_detail), ] 与path()方法不同的在于两点: year中匹配不到10000等非四位数字,这是正则表达式决定的 传递给视图的所有参数都是字符串类型...3.3 有名分组 上面的示例使用简单的、没有命名的正则表达式组(通过圆括号)来捕获URL 中的值并以位置 参数传递给视图。...在更高级的用法中,可以使用命名的正则表达式组来捕获URL 中的值并以关键字 参数传递给视图。 在Python 正则表达式中,命名正则表达式组的语法是(?...P[0-9]{2})/$', views.article_detail), ] 这个实现与前面的示例完全相同,只有一个细微的差别:捕获的值作为关键字参数而不是位置参数传递给视图函数。

    1.1K20

    Django 2.1.7 视图

    slug - 匹配由ASCII字母或数字组成的任何slug字符串,以及连字符和下划线字符。例如, building-your-1st-django-site。 uuid - 匹配格式化的UUID。...的传参方式,另一种是路径参数的传递方式。 配置以?...可以看到两个参数都可以接收到了。 下面再来看看通过url路径来传递参数的方法。 配置以路径的传参方式 参数不再以?形式进行拼接,而是以路径/a/a的形式进行传递。...slug:server_name> 为参数的字符串写法,但是不支持中文,涉及一个中文url编码的问题。...使用path()中的字典传递参数 当服务器有些隐藏的参数需要带上,又不想每次请求都添加参数请求,那么可以使用字典的参数传递。 直接上示例,如下: ?

    74220
    领券