我正在创建一个显示有关项目信息的网页,并尝试实现以下结构
- /ITEMS
| + /ITEMS/ITEM_1
| + /ITEMS/ITEM_2
...
路线/ITEM_LIST
包含所有项目的概述,每个/ITEMS/ITEM_X
包含有关给定项目的特定信息。
由于我的商品列表不是不是静态商品,所以我想动态创建ITEMS/ITEM_X
页面。为此,我有一个功能
def html_table_0(table: str, title: str = 'na'):
return render_template('table_template.html',
tables=[table],
titles=['na', title])
当我有一个特定的项目时,这很好用:
obj_name = obj.name # (obj is an instance of custom class Obj representing my items)
@app.route('/objects/' + obj_name, methods=("POST", "GET"))
def html_table():
return render_template('table_template.html',
tables=[obj.to_html()],
titles=['na', obj.title])
但是在尝试重复执行此操作时会失败。
我试图利用此SO post:
counter, routes = 0, [None]*obj_array.__len__()
for obj in obj_array:
routes[counter] = dict(route='/odds/'+obj.name,
func=lambda: html_table(table=obj.to_html()),
page=obj.name)
但这会引发异常
AssertionError:视图函数映射正在覆盖现有的端点函数:
obj.name
任何指导将不胜感激。