<p>你可以试试:</p>
<p>在JavaScript开始之前编写这个HTML。
然后更改变量:</p>
<p><strong>var端点='/analiz/{数据.id}}/rapor/hamveri/';</strong>如下所述</p>
<p>有点像这样:</p>
<pre><code><div id="endpoint-url-div" url="{% url 'hamveri' data.id %}" style="display: none;"></div>
<script type="text/javascript">
var endpoint = document.getElementById('endpoint-url-div').getAttribute('url');
//Now endpoint should have a URL like **/analiz/33/rapor/hamveri/**
//Add the rest of your JavaScript as it is.
var defaultData = [];
var labels = [];
$.ajax({
method: "GET",
url: endpoint,
success: function(data){
labels = data.labels;
defaultData = data.default;
setChart()
},
error: function(error_data){
console.log("error");
console.log(error_data)
},
});
</script>
</code></pre>
<p>确保从视图中正确发送变量。确保视图中的<strong>上下文字典中有一个变量。</strong></p>
<p>在视图.py必须有类似的东西:</p>
^{pr2}$
<p><strong>编辑:</strong></p>
<p>正如我在你的分析中看到的/视图.py,您不会向您的报告.html. 在</p>
<p>不发送<strong>idx</strong>或<strong>模型数据对象</strong>到报告.html不会在变量<strong>endpoint</strong>内提供一个url,比如:<code>/analiz/33/rapor/hamveri/</code>。在</p>
<p>在视图中,必须发送一个<strong>模型对象</strong></p>
<pre><code>class ReportView(View):
def get(self, request, *args, **kwargs):
data = UploadFile.objects.get(...) #Get the model object here. Put something like: user = request.user
context = {'data' : data}
return render(request, 'analiz/rapor.html', context)
</code></pre>
<p>现在在您的HTML中:</p>
<pre><code><div id="endpoint-url-div" url="{% url 'hamveri' data.id %}" style="display: none;"></div>
<script type="text/javascript">
var endpoint = document.getElementById('endpoint-url-div').getAttribute('url');
...
...
... #Rest of the Javascript# ...
...
</script>
</code></pre>