本质上,我试图消除向用户显示“列表”的 id 的需要。我正在使用Hashids将自动创建的 id 编码为唯一代码。
为了显示一个列表,我目前一直在这样做:
@app.route('/listing/<uniqueHash>')
def listing(uniqueHash):
a = hashids.decode(uniqueHash)
listing = models.Listing.select().where( models.Listing.id == a ).get()
uniqueHash = hashids.encode(listing.id)
return render_template("test1.html", listing = listing, uniqueHash = uniqueHash)
这适用于单个列表。但是,如果我想显示多个这样的列表:
@app.route('/')
def index():
listings = models.Listing.select().limit(100)
return render_template("test.html", listings = listings)
然后,我无法为 jinja2 模板中的每个列表提供唯一 ID(并且看不到在 jinja 模板本身中编码/解码 id 的方法......有吗?)
我最终希望将唯一代码存储在数据库中,但是当我创建该列表本身并且不知道 id 时,我对如何创建 hashid(基于列表的 id)感到困惑。
我目前正在创建这样的列表:
form = request.form
models.Listing.create(
title = form['title'],
description = form['description'],
price = form['price']
)
我计划稍后将其与 WTForms 一起使用进行验证。
在不知道 id 本身的情况下,我如何最好地在创建列表时包含唯一代码???
任何帮助是极大的赞赏!!!