Bry*_*yce 32 django django-class-based-views
如何success_url
根据参数进行设置?
我真的想回到我来自哪里,而不是一些静态的地方.在伪代码中:
url(r'^entry/(?P<pk>\d+)/edit/(?P<category>\d+)',
UpdateView.as_view(model=Entry,
template_name='generic_form_popup.html',
success_url='/category/%(category)')),
Run Code Online (Sandbox Code Playgroud)
这意味着:编辑条目pk
然后返回"类别".这里的条目可以是多个类别的一部分.
Dim*_*din 54
创建一个MyUpdateView
继承自的方法UpdateView
并覆盖get_success_url
方法:
class MyUpdateView(UpdateView):
def get_success_url(self):
pass #return the appropriate success url
Run Code Online (Sandbox Code Playgroud)
另外,我想在继承的类视图中传递template_name和model之类的参数,但不能.as_view()
在urls.py中传递
Ale*_*raf 26
有同样的问题.Dima提到,能够从self.kwargs获得参数:
def get_success_url(self):
if 'slug' in self.kwargs:
slug = self.kwargs['slug']
else:
slug = 'demo'
return reverse('app_upload', kwargs={'pk': self._id, 'slug': slug})
Run Code Online (Sandbox Code Playgroud)
我找到了一种有用且非常简单的方法。一探究竟。
class EmployerUpdateView(UpdateView):
model = Employer
#other stuff.... to be specified
def get_success_url(self):
pk = self.kwargs["pk"]
return reverse("view-employer", kwargs={"pk": pk})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29924 次 |
最近记录: |