首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jinju2嵌入式html文件中使用if控件语句

如何在jinju2嵌入式html文件中使用if控件语句
EN

Stack Overflow用户
提问于 2022-03-23 00:13:44
回答 1查看 16关注 0票数 1

我使用parsehub来抓取一堆电影名称,并让python脚本将其导出到html文件中,这样就可以了。然而,我想使用if语句只打印标题,其中有“”。这个结构很好,它正在计算if子句,但是它总是计算为false,我不知道为什么。这是我第一次使用Jinju2,甚至听说过这种语言。

代码语言:javascript
复制
{% for movie in movies %}
     {% if 'The' in movie %}
          <div name="title">{{movie["title"]}}</div>
     {% endif %}
{% endfor %}

或者,我跟随https://help.parsehub.com/hc/en-us/articles/217751808-API-Tutorial-How-to-get-run-data-using-Python-Flask的parsehub教程说,有一种方法可以选择性地过滤被刮掉的数据,但是我已经研究过了,并且不知道如何去做。

代码语言:javascript
复制
# movies.py

from flask import Flask, render_template
import requests
import json

API_KEY = ''
PROJECT_KEY = ''
PROJECT_DATA = f"https://www.parsehub.com/api/v2/projects/{PROJECT_KEY}/last_ready_run/data"
app = Flask(__name__, template_folder='.')

@app.route('/')
def homepage():
  params = {
    'api_key': API_KEY,
  }
  r = requests.get(
      PROJECT_DATA,
      params=params)
  #print("The r var is: \n")
  #print(r)
  return render_template('movies.html', movies=json.loads(r.text)['movies'])

if __name__ == '__main__':
  app.run(host='0.0.0.0', debug=True)

如何使jinju2 if语句求值为true,或者如何过滤已收集的数据?

我使用了一个used语句,这样我就可以确保if语句实际上是被评估的,而且确实是这样,但是每次它的计算结果都是false。

EN

回答 1

Stack Overflow用户

发布于 2022-03-23 00:15:36

我想是这句话:{% if 'The' in movie %}

尝试将其更改为:{% if 'The' in movie["title"] %}

如果movie是一个dict,那么if 'The' in movie正在寻找一个名为The的密钥。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71580402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档