从网址获取视图

时间:2014-09-24 09:10:34

标签: django 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()

这是一种有效的方法吗?

1 个答案:

答案 0 :(得分:2)

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

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

请注意,resolve可能会引发Resolver404