2016-09-21 142 views
0

我在Django中通过扩展CreateView类创建一个表单,一切正常。
但我不太明白的是,当表单被提交时,web浏览器会自动将我重定向到由model的get_absolute_url()方法指定的url。
'success_url'字段在某个点由该方法返回的url分配的默认行为是什么?什么是'success_url'变量的默认值

+2

不确定你在问什么。在CreateView上调用模型'get_absolute_url'的[get_success_url()'](https://github.com/django/django/blob/master/django/views/generic/edit.py#L143)的默认实现if没有定义其他值。 –

+0

你能显示你的视图代码吗? – GwynBleidD

+0

@DanielRoseman就是如此。看起来我没有深入地挖掘文档。 – tomwyr

回答

3

如果您的视图类定义了success_url属性,则将其用作成功url。否则,它将使用创建/编辑的对象的get_absolute_url()方法。请参阅文档here

因此,如果您不想重定向到对象的绝对url,您可以在该类上定义success_url,或者如果需要对其进行更精细调整,则可以重新定义该类的get_success_url()方法。