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))