我有一个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})
答案 0 :(得分:0)
所以这很痛苦,但我终于想通了。我想设置div
的样式,并且以一种懒惰的方式完成了它。我的django模板是从“基本”模板扩展而来的,因此在{% block content %}
标签下添加了<style>
标签。
这可以正常工作并正确设置div的样式,但是由于某种原因,它破坏了页面上一半的变量。我不知道为什么!调试时,我注释了整个<style>
块,但我的代码仍被破坏。我必须完全删除<style>
块才能使其再次起作用。
一旦<style>
块被删除,所有变量都开始工作...