有什么方法可以从 urlconf 参数设置 success_url 吗?

Is any way to set success_url from urlconf parameter?

在urls.py中:

url(r'^add/from?(?P<link>[a-zA-Z0-9/]+)$', PostAdd.as_view(), name='post_add'),

在views.py中:

class PostAdd(CreateView):

model = Post
form_class = PostForm
template_name = 'post_add.html'
success_url = ????

def get_context_data(self, **kwargs):
    context = super(PostAdd, self).get_context_data(**kwargs)
    context['from'] = self.kwargs['link']
    return context

我可以将link传递给模板,但是我需要设置success_url=link

您应该覆盖视图上的 get_success_url 方法,而不是使用 success_url 属性。

class PostAdd(CreateView):

    def get_success_url(self):
        # Grab 'link' here and return it:
        return self.kwargs['link']