-1

web2py 新手,想知道如何从数据库中获取要显示的超链接。我有一个页面,该页面具有使用 for 循环从“产品”数据库生成所有项目的功能,以列出每个产品的名称和成本。但我想让每个产品的名称成为一个超链接,然后显示项目本身的所有信息(描述、重量、实际成本)......我已经绞尽脑汁好几个小时了,却找不到任何地方这是怎么回事可能...任何帮助将不胜感激。

4

1 回答 1

0

假设您的控制器名为products.py,在您的控制器中,您将拥有如下内容:

def index():
    products = db(db.product).select()
    return dict(products=products)


def view():
    product_id = request.args(0, cast=int, otherwise=lambda: None)
    product = db(db.product.id == product_id).select().first()
    if product is None:
        raise HTTP(404, 'Cannot find that product')

    return dict(product=product)

在您的 products/index.html 视图中,您将拥有如下代码:

<ul class="products">
    {{for product in products:}}
    <li>{{=A(product.name,
             _href=URL('products','view', args=[product.id]))}}
    </li>
    {{pass}}
</ul>

您可能还想查看SQLFORM.grid这是实现此目的的另一种方法,具体取决于您想要做什么。

于 2013-10-03T21:01:05.523 回答