2014-09-24 102 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