在if语句中使用render_template是一个性能劣势?

时间:2017-08-15 16:04:22

标签: python flask

我有一个名为product.html的html页面,可在myurl.com/slug/网址下找到,它提供了大量信息,但有些条目缺少一些信息,因此我在尝试加载时遇到错误页面因为缺少数据。

我可以用if语句轻松解决问题,但是我担心它会减慢我的网站速度。 (我在数据库中有一个列,其中包含有关条目是否有任何缺失数据的信息)

@app.route('/<slug>/')
def prod_page(slug):
    prod = getProduct(slug)
    if "full information" in prod.avabiality: # rendered html page if we have all of the details
        return render_template('product.html', product_data1 = prod.title, product_data2 = prod.description) 
    else: # rendered html page if we don't have all of the details
        return render_template('product2.html', product_data1 = prod.title)

我的问题是,if if语句是否会降低我网站的速度/性能?例如页面加载时间。或者通常的做法是使用带有Flask render_template功能的if语句,并且没有什么可担心的,因为速度差异不大?

更新

我已将if语句更改为:

try:
    return render_template('product.html', product_data1 = prod.title, product_data2 = prod.description) 
except:
    return render_template('product2.html', product_data1 = prod.title)

也许最好避免大多数页面的性能问题,因为不会比较任何字符串。如果第一个版本失败,则表示我需要第二个html模板,因此第二个案例将正确加载页面。

0 个答案:

没有答案