Python Flask - 使Jinja2模板无逻辑

时间:2014-04-16 18:52:50

标签: python flask jinja2

我刚开始使用带有Jinja2的Python Flask(那些不知道的人的模板系统),并且在模板部分遇到了障碍。

因此,考虑到逻辑和模板分离的概念,我试图删除我发现无法删除的最后一件事:for循环迭代。

我会尽可能地缩小问题范围。

基本上我有这个定义主页的视图:

# front page
def front(): # define front page
    i = db.docs.find() # find docs in db and assign to var "i"
    docs = [k for k in i] # iterate over "i" vals and assign to docs which is then iterable
    return render_template('index.html', docs=docs) # render the "index.html" template and make the "docs" variable available for it

然后我有 index.html (仅包括问题的焦点):

<title> Localhost - Homepage </title>

<div class=doc>
  {% for doc in docs %} # iterate over every doc in docs
      <h4><a 
              href="/post/{{ doc.slug }}/">{{ doc.title }} # get the **doc slug** and **doc title**
          </a>
      </h4>
  {% endfor %}
</div>

问题在于这里有没有办法在视图中进行迭代(所有逻辑应该驻留在哪里)并且有一个预定义的val可以在模板中打印(如<div>{{ docs.title }}</div>)?

0 个答案:

没有答案