Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获得“成功”;无”;在URL的末尾_Python_Django_Django Generic Views - Fatal编程技术网

Python 获得“成功”;无”;在URL的末尾

Python 获得“成功”;无”;在URL的末尾,python,django,django-generic-views,Python,Django,Django Generic Views,我一直试图在django通用视图中使用“UpdateView”。我试图实现的是返回到相同的“UpdateView”页面。 我的代码如下: 我的网址 单击更新按钮后,我希望目标是 /代码/18/更新/ 不管结果如何 /代码/18/更新/无 如何删除结尾处的“无”?谢谢。 现在如果我这样做: #views.py class CodeUpdate(UpdateView): def get_success_url(self): return reverse('update')

我一直试图在django通用视图中使用“UpdateView”。我试图实现的是返回到相同的“UpdateView”页面。 我的代码如下:
我的网址

单击更新按钮后,我希望目标是

/代码/18/更新/

不管结果如何

/代码/18/更新/无

如何删除结尾处的“无”?谢谢。

现在如果我这样做:

#views.py
class CodeUpdate(UpdateView):
    def get_success_url(self):
        return reverse('update')
我会得到这个错误

找不到参数为“()”且关键字参数为“{}”的“update”的反转。已尝试1个模式:[u'/code/(?P\d+)/update/']

如何将“pk”值作为反向函数中的参数传递


谢谢。

一旦更新成功,它将重定向到
get\u success\u url()
返回的url。由于在该函数中没有返回任何内容,因此将重定向到
../update/None


可以从该方法返回适当的url,也可以删除默认行为的该方法。

原因正确。默认行为是重定向到更新对象的
get\u absolute\u url
方法的结果,这可能不是OP所寻找的。要再次重定向到对象的更新视图,请为URL模式指定一个名称。然后使用
reverse
查找该URL,并从
get_success\u URL
返回该URL。如果
success\u URL
None
,则将调用
get_absolute\u URL
。Hi@PeterDeGlopper。我试图获取object.id作为反向函数的参数。如果我将它硬编码到
反向('update',args=(11,)
,它就可以工作了,我如何动态地执行它呢。谢谢。
UpdateView
将要更新的对象保存为
self.object
,因此
reverse('update',args=(self.object.id))
应该这样做。
#views.py
class CodeUpdate(UpdateView):
    def get_success_url(self):
        pass
#views.py
class CodeUpdate(UpdateView):
    def get_success_url(self):
        return reverse('update')