VS Code+Python:如何用Pylance生成的get_success_url()实现自定义跳转?
如何用Pylance生成的
get_success_url实现自定义跳转 Pylance生成的代码是调用父类默认方法,要实现你需要的跳转效果,直接替换返回逻辑就行,不用纠结参数——Django通用类视图里的get_success_url本身就不需要**kwargs参数,你之前的写法里的**kwargs其实是多余的,Pylance生成的是符合官方规范的方法签名。
具体改法:
- 保留Pylance生成的方法签名:
def get_success_url(self) -> str: - 把返回值换成你的
reverse_lazy调用,按需获取跳转所需参数:
比如在CreateView/UpdateView中,刚创建/更新的对象存在self.object里,直接拿主键:
如果参数来自其他地方,比如请求的GET参数:def get_success_url(self) -> str: return reverse_lazy('name_space:url_name', kwargs={'pk': self.object.pk})def get_success_url(self) -> str: target_pk = self.request.GET.get('pk') return reverse_lazy('name_space:url_name', kwargs={'pk': target_pk})
内容的提问来源于stack exchange,提问作者Abpostman1
相关产品推荐
相关产品推荐

