对 Django 来说还是很陌生,担心我走错了路。
我的网站使用“trails”:链接到内容位的小部件组件。我有一个呈现这些轨迹的模板,并且该模板有很多选项(是否显示图像,显示多少单词等)。我使用以下包含标签实现了这一点:
@register.inclusion_tag('reviews/review_trail.html')
def review_trail(
review,
coverPosition='left',
showLargeHeadings=False,
wordsToShow=30,
):
return {
'r' : review,
'coverPosition': coverPosition,
'scoreMode': scoreMode,
'showLargeHeadings': showLargeHeadings,
'wordsToShow': wordsToShow,
}
我在视图中多次使用此函数,通常在这样的循环中:
{% for r in reviews %}
{% review_trail review=r coverPosition="right" %}
{% endfor %}
我发现最近的表现越来越差。我花了一段时间调整静态文件(缓存、组合等)和 SQL 调用(索引、分析等)。查看分析结果,大部分缓慢似乎来自模板渲染。
这种编码对我的应用程序的性能有害吗?我以为我遵循 DRY 原则很聪明,但也许我是在自取其辱。