我有一个名为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模板,因此第二个案例将正确加载页面。