Django模板未显示变量正确性

时间:2020-01-02 15:22:46

标签: python django python-3.x django-templates

我有一个django页面,该页面正在进行API调用,然后通过模板显示结果。这一直很好,但是我必须进行了一些更改,现在一半变量无法正确显示。通常,在调用变量时出错时,模板只会显示一个空白字段。但是,在我的情况下,网页显示的是调用变量的代码。这是我所拥有的:

我的HTML代码如下:

<h6>Page</h6>
       <ul class="list-inline mx-auto row">
         <li class="list-group-item col-md-12">ASN: {{ context.upload.urlscan.page.asn }}</li>
       </ul>

       <ul class="list-inline mx-auto row">
         <li class="list-group-item col-md-12">ASN Name: {{ context.upload.urlscan.page.asnname }}</li>
       </ul>

       <ul class="list-inline mx-auto row">
         <li class="list-group-item col-md-12">IP: {{ context.upload.urlscan.page.ip }}</li>
       </ul>  

仅从此代码开始,第一行和第三行显示正确-这些行显示分配给它们的变量。

标记为“ ASN名称”的中间值将显示代码。在网页上看起来像这样:

{{ context.upload.urlscan.page.asnname }}

我已经验证了数据输入正确,并且这在我的代码中的多个地方都发生了。不知道为什么有些变量有效,有些却无效。

我在RHEL 7.x上使用Django 2.1和Python 3.6

编辑 根据请求,这是我的上下文创建和渲染部分

    context['type'] = 'url'
    context['upload']['cs_response'] = cs_response
    context['upload']['cs_domain'] = cs_resp_dom
    context['upload']['ppdom_rep'] = ppdom_rep
    context['upload']['ppdom_ids'] = ppdom_ids
    context['upload']['cs_test'] = ioc
    context['upload']['urlscan'] = scan_res
    context['js'] = json.dumps(context, indent=4)

return render(request, 'iocs/upload.html', {'context': context})

1 个答案:

答案 0 :(得分:0)

所以这很痛苦,但我终于想通了。我想设置div的样式,并且以一种懒惰的方式完成了它。我的django模板是从“基本”模板扩展而来的,因此在{% block content %}标签下添加了<style>标签。

这可以正常工作并正确设置div的样式,但是由于某种原因,它破坏了页面上一半的变量。我不知道为什么!调试时,我注释了整个<style>块,但我的代码仍被破坏。我必须完全删除<style>块才能使其再次起作用。

一旦<style>块被删除,所有变量都开始工作...