2014-09-24 73 views
0

如何获取并调用与给定url关联的视图函数?从url获取视图

我有一个视图执行一些工作,然后(如果一切顺利)将请求传递给另一个视图(几个可能之一)并返回此视图呈现的响应。

伪代码:

class View1(view): 
    def dispatch(): 
     do_common_tasks() 
     if (foo): 
      return render("template1") 
     elif (bar): 
      return url_to_view2.render() 
     else: 
      return url_to_view3.render() 

这是一种有效的方法?

回答

2

您可以使用resolve函数来解析视图的url路径。然后您将使用request对象调用该函数。

func, args, kwargs = resolve('/some/path/') 
return func(request, *args, **kwargs) 

注意resolve可以提高Resolver404

+0

打个招呼:) +1 – 2014-09-24 10:21:59