如何获取并调用与给定网址相关的视图功能?
我有一个视图执行一些工作然后(如果一切顺利)将请求传递给另一个视图(几个可能之一)并返回此视图呈现的响应。
伪代码:
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()
这是一种有效的方法吗?
答案 0 :(得分:2)
您可以使用resolve
功能来解析视图的网址路径。然后,您将使用request
对象调用该函数。
func, args, kwargs = resolve('/some/path/')
return func(request, *args, **kwargs)
请注意,resolve
可能会引发Resolver404
。