Web2py Views&网址格式

时间:2014-12-23 18:17:50

标签: web2py

使用嵌套网址结构修改视图中HTML内容的最佳方法是什么?

例如,让我们说我有一个索引页面,为三只猫提供选择选项[" Small"," Medium"," Large& #34]。当用户选择" Small"时,我们可以将用户重定向到default/Small视图。然后,该视图提供了一些额外的选择选项,例如[" Happy"," Sad"," Mad"]。当用户在此处选择一个选项时,请说“#34;快乐"”,我们可以通过args将该选择选项构建到网址中,现在网址变为default/Small/Happy。但是,如果我创建了default/Small/Happy视图,其中包含一些其他选项供用户使用,则该页面不会显示新内容(它仍会显示default/Small中的内容)。最后,我想采取所有的args," Small",#34; Happy"等等,构建查询并向用户提供一些结果数据库。

我显然不完全明白这是如何运作的,所以我只需要一些指导。

1 个答案:

答案 0 :(得分:1)

最佳方法取决于基于不同类别的视图中需要区别的内容。我们假设您有一个类似/myapp/default/index/Small/Happy的网址。在index函数中,您可以执行以下操作:

def index():
    size = request.args(0)
    emotion = request.args(1)
    data = [code based on size and emotion]
    return dict(size=size, emotion=emotion, data=data)

如果您需要根据类别在视图中创建不同的显示,则可以包含条件逻辑。

在/views/default/index.html:

{{if size == 'Small':}}
HTML for the small display
{{elif size == 'Medium':}}
...
{{pass}}