1
朋友們,我想將模板變量傳遞給javascript以創建圖表。但我沒有得到它。 Django將所有js文件視爲靜態文件。所以動態模板變量不適用於JavaScript。如何將模板變量傳遞給javascript
我甚至試過這樣:
passing template variables to javascript
但它並沒有幫助。只有一個變量可以傳遞。其餘的都沒有。
def profile(request,username):
try:
u = User.objects.get(username=username)
questions = Question.objects.filter(user=u)
answers = Answer.objects.filter(user=u)
docs = Document.objects.filter(user=u)
except User.DoesNotExist:
pass
return render(request,"auths/profile.html",locals())
此外,如在上面的鏈接所描述的,我的profile.html是
<input type="hidden" value="{{ u.username }}" id="username" />
<input type="hidden" value="{{ docs.count }}" id="docs" />
<input type="hidden" value="{{ questions.count }}" id="questions" />
<input type="hidden" value="{{ answers.count }}" id="answers" />
{% block extra %}
<script type="text/javascript">
var user = document.getElementById("username").value;
var docs = document.getElementById("docs").value;
var questions = document.getElementById("questions").value;
var answers = document.getElementById("answers").value;
</script>
<script type="text/javascript" src="{% static 'highcharts.js'%}"> </script>
<script type="text/javascript" src="{% static 'highcharts-3d.js'%}"></script>
<script type="text/javascript" src="{% static 'chart.js' %}"></script>
{% endblock %}
而我chart.js之其中I傳遞數據的一個部分是:
series: [{
type: 'column',
name: 'User Profile',
data: [
['Questions', questions],
['Answers', answers],
['Documents', docs]
]
}]
正如前面所解釋的那樣,問題是隻有一個變量通過,而其他變量不通過。因此,不會呈現圖表。我該怎麼做朋友?
如果有幫助,我使用Django 1.9和highcharts。
因爲您已經爲用戶查詢使用了get,但是其他的則使用了filter。 'filter'返回一個查詢集,而不是一個模型實例。 –
我不明白。事情是我想顯示一個特定用戶的文件數量,答案和問題。我不應該使用get來找到用戶並過濾以提取該特定用戶的問題,答案等嗎? – amankarn