Django – 基于类的通用视图 – “没有URLredirect到”

我正在使用通用的CreateView:

#urls.py from django.conf.urls.defaults import * from django.views.generic import CreateView from content.models import myModel urlpatterns = patterns('myApp.views', (r'myCreate/$', CreateView.as_view(model=myModel)), ) 

使用mymodel_form.html模板,如下所示:

 <form method="post" action=""> {% csrf_token %} {{ form.as_p }} <input type="submit" value="Submit" /> </form> 

当我提交表单时,新的对象被创build,但是我得到错误

错误地configuration在…

没有URLredirect到。 在模型上提供一个url或定义一个get_absolute_url方法。

我如何指定url来redirect成功?

你有没有试过在success_url传递? 例如

 CreateView.as_view(model=myModel, success_url="/success/") 

或者如果你想redirect到一个命名的视图:

 CreateView.as_view(model=myModel, success_url=reverse('success-url')) 

您也可以尝试在模型中定义get_absolute_url 。 例如

 class Something(models.Model): name = models.CharField(max_length=50, verbose_name='name') class Meta: pass def get_absolute_url(self): return u'/some_url/%d' % self.id 

添加视图:

 def form_valid(self, form): return self.render_to_response(self.get_context_data(form=form))