【问题标题】:trying to send data from python to html试图将数据从 python 发送到 html
【发布时间】:2022-01-25 01:51:05
【问题描述】:

我正在抓取一些内容并尝试在 html 页面上显示,但是当我尝试为从 python 文件发送的字典运行 jinja 循环时它什么也不显示,它单独运行每个变量但不在字典上运行循环

我正在尝试显示的 Python 字典

dictionary = dict(
        [('page_title', url), ('title', title), ('anchor', anchor),
         ('images', images)])

带有 jinja 标签的 HTML 代码

<div id="dictionary">
{% for items in dictionary %}
<div class="card" style="width: 18rem;">
    <img src="{{ items.images }}" class="card-img-top" alt="{{ items.title }}">
    <div class="card-body">
        <a href="{{ items.anchor }}" class="btn btn-primary"><h5 class="card-title">{{ items.title }}</h5></a>
    </div>
</div>
{% endfor %}

【问题讨论】:

  • 把你的数据结构改成dictionary= {'page_title': url,"title":title......}
  • 已经试过了,不行

标签: python html django jinja2


【解决方案1】:

不需要任何 for 循环。直接可以使用dictionarydata

<div class="card" style="width: 18rem;">
    <img src="{{ dictionary.images }}" class="card-img-top" alt="{{ dictionary.title }}">
    <div class="card-body">
        <a href="{{ dictionary.anchor }}" class="btn btn-primary"><h5 class="card-title">{{ dictionary.title }}</h5></a>
    </div>
</div>

【讨论】:

  • 试过但没用
  • 错误是什么?
【解决方案2】:

您可以像这样创建custom template tag

模板标签/tags.py

from django.template.defaulttags import register

@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)

your_html.html:

<div id="dictionary">
<div class="card" style="width: 18rem;">
    <img src="{{ dictionary|get_item:'images' }}" class="card-img-top" alt="{{ dictionary|get_item:'title' }}">
    <div class="card-body">
        <a href="{{ dictionary|get_item:'anchor' }}" class="btn btn-primary"><h5 class="card-title">{{ dictionary|get_item:'title' }}</h5></a>
    </div>
</div>

【讨论】:

  • @AbdulSubhan 试过我的吗?
  • 它现在给出这个错误:异常值:'str' 对象没有属性'get'异常位置:/Users/aaa/gsmarena/gsmApp/templatetags/tags.py,第 7 行,在 get_item
  • 你如何从你的视野中返回dictionary
  • dictionary = dict( [('page_title', url), ('title', title), ('anchor', anchor), ('images', images)]) return render(request , 'searchresult.html', 字典)
  • 您要求我创建的 tags.py 中发生错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
  • 2015-02-17
  • 1970-01-01
  • 2018-03-09
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
相关资源
最近更新 更多