1
假設我有一個用Markdown編寫的Django模板。Django模板和降價
首先處理降價,然後渲染模板,或者我應該渲染模板,然後通過Markdown過濾器發送它是否有意義?
從計算的角度來看,第一個是可取的,因爲我要在一個循環中渲染模板。我只是想知道是否有一些可能的缺點,我沒有想到。
一些供參考代碼:
import markdown
from django import template
# Here, template_content_md would actually come from the database
template_content_md = """
{{ obj.title }}
-----------
**{{ obj.author }}**
(more Markdown content here using variables)
[More info]({{ obj.get_absolute_url }})
"""
output_list = []
# first method
template_content_html = markdown.markdown(template_content_md)
for obj in object_list:
tt = template.Template(template_content_html)
content_html = tt.render(Context({'obj': obj}))
output_list.append(content_html)
#second method
for obj in object_list:
tt = template.Template(template_content_md)
content_md = tt.render(Context({'obj': obj}))
content_html = markdown.markdown(content_md)
output_list.append(content_html)
正如你所看到的,在第二個版本,markdown.markdown
爲每個obj
在object_list
運行一次。
其實只是想起一個情況下,這是一個問題:我使用的urlize功能在降價自動突出顯示的鏈接(例如,在模板中,它將是'{{obj.author.email}}',呈現給'email @ domain.org',然後由Markdown翻譯爲'[email protected]'。我使用了一些其他Markdown過濾器這也是,所以我只需要看看我是否可以在完成模板渲染後複製該功能。 –