【发布时间】:2021-09-02 00:09:47
【问题描述】:
我正在尝试让我的 Altair 绘图从我的视图呈现到我的 html 页面。我已经尝试了从堆栈溢出到让它工作的所有方法,但每次我尝试都没有得到我的情节。这是我在不同部分的代码。
Views.py:
def search_site(request):
if request.method == "POST":
inputSite = request.POST.get('Site')
SITES = Ericsson_LTE_1D_Version_Sectir_ID_HOUR.objects.filter(SITE__contains = inputSite).values()
data = pd.DataFrame(SITES)
chart = alt.Chart(data).mark_line().encode(
y ='Avg_Nr_Of_RRC_Connected_Users:Q',
x ='PERIOD_START_TIME:T',
).to_json(indent=None)
return render(request,'VenueReporting/searchSite.html', {'site':inputSite,'Predictions':SITES,'chart':chart})
else:
return render(request, 'VenueReporting/searchSite.html',{})
HTML 页面:
<head>
<script src="https://cdn.jsdelivr.net/npm/vega@[VERSION]"></script>
<script src="https://cdn.jsdelivr.net/npm/vega-lite@[VERSION]"></script>
<script src="https://cdn.jsdelivr.net/npm/vega-embed@[VERSION]"></script>
</head>
<body>
<script type="text/javascript">
var chart = "{{chart}}";
vegaEmbed('#vis1', chart).then(result => console.log(result))
.catch(console.warn);
</script>
{% if Predictions %}
<h2>You Searched for:</h2>
<h3>{{site}}</h3>
<h2>The activity was:</h2>
<div id="vis1"></div>
{% else %}
<h1>That Venue does not exist or you put the wrong information</h1>
{% endif %}
</body>
【问题讨论】: