将变量从 Jinja 传递到数据库

Passing variables from Jinja to database

我正在尝试找出一种方法来通过 webpy 传递动态 URL,它将呈现一个 Jinja 模板,其中包含有关所传递信息的信息。具体来说,我有一个项目数据库,它应该能够获取 URL 中的任何项目 ID,并呈现一个包含有关该项目的更多信息的模板。

为了简化问题,为了演示目的,我硬编码了值 1043374545,但我希望一旦这个初始问题得到解决,这条线就会变成动态的。

urls = ('/1043374545', 'view_item')

class view_item:
    def GET(self, itemID):
        item_info = sqlitedb.detailInfo(request)
        return render_template('view_item.html', item = item_info)

截至目前,我将问题隔离为与将值 1043374545 传递到 view_item 函数相关的事情。关于如何将 URL 中的动态数字传递给 view_item 的任何想法?

简单地说:

urls = (('/([0-9]*)', 'view_item'),)

[0-9]* 会告诉 webpy 只接受“/”之后的数字。
然后您可以在 GET 函数中使用该值,它将位于您在 GET 参数中指定的 itemID 下。

class view_item:
    def GET(self, itemID):
        item_info = sqlitedb.detailInfo(itemID)
        return render_template('view_item.html', item = item_info)

查看此 link 了解更多详情: http://webpy.org/cookbook/url_handling