有人帮我理解models / menu.py文件的以下代码:
response.menu = [
(T('Home'),False,URL('default','index')),
(T('About'),False,URL('default','what')),
(T('Download'),False,URL('default','download')),
(T('Docs & Resources'),False,URL('default','documentation')),
(T('Support'),False,URL('default','support')),
(T('Contributors'),False,URL('default','who'))
]
在此,我们在URL中指定控制器(例如,默认/什么)。如果我想在此指定视图怎么办?
答案 0 :(得分:9)
在此,我们在URL中指定控制器(例如,默认/什么)。如果我想在此指定视图怎么办?
在web2py中,网址不会直接路由到视图。相反,它们路由到控制器,并且控制器具有关联的视图(每个控制器都有一个默认视图,但控制器本身可以指定任何视图)。如果您想使用URL告诉给定的控制器使用除通常视图之外的视图,您可以通过URL中的arg或var来指示。例如:
response.menu = [...,
(T('About'), False,URL('default', 'what', args='alt')),
...]
并在default.py控制器中:
def what():
if request.args(0) == 'alt':
response.view = 'default/what_alt.html'
[rest of controller code]