-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 に答える