我有嚴重的執行問題與我的模板。經過一些測試後,我發現渲染中最慢的部分是縮略圖,由sorl-thumbnail生成。 下面是我的模板已發行部分:sorl-thumbnail - 緩慢模板渲染
{% for listing in listings %}
<li class="pic_view">
<ul>
<li class="picture">
<a href="{% url 'listing' listing.id listing.title %}">
{% thumbnail listing.get_picture "240x143" crop="center" as im %}
<img src="{{ im.url }}">
{% empty %}
tc
{% endthumbnail %}
<div class="overlay"></div>
</a>
</li>
<li class="artist">
<a href="{% url 'profile_artist' listing.artist_id listing.artist.user.first_name %}">
{% thumbnail listing.artist.get_avatar "60x60" crop="center" as im %}
<img src="{{ im.url }}">
{% empty %}
tc
{% endthumbnail %}
</a>
</li>
</ul>
</li>
{% endfor %}
目前,我有大約6清單及以下的測量時間進行渲染:
- 8512 ms on first rendering
- 4680 ms on reload
- 112 ms when thumbnail tags are removed
能否請你給我在這一點上一些建議。上面的數字是用Debug=True
測量的,但是當標誌爲False時沒有區別。也因此,以Django
文件,我已經包括以下TEMPLATE_LOADERS
:
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
('django.template.loaders.cached.Loader', (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)),
)
你使用什麼類型的後端?有不同的選項,但我相信memcached或redis應該比使用數據庫更快,特別是如果你有很多條目。 – petkostas 2014-09-01 09:38:49