我有一個javascript函數,需要一些變量(約10)從我的視圖。一旦加載頁面,我不需要再次調用變量。我可以使用上下文字典給他們,如下所示,但也許可以做得更好。如何將django模型傳遞給javascript函數
我models.py
:
class Mymodel(models.Model):
my_field1 = #
my_field2 = #
...
my_field10 = #
我views.py
:
def myview(request):
context_dict={}
context_dict['myfield1'] = Mymodel.objects.get(id=1).myfield1
context_dict['myfield2'] = Mymodel.objects.get(id=1).myfield2
context_dict['myfield10'] = Mymodel.objects.get(id=1).myfield10
我template.html
:
...
<script>
<!--
window.onpageshow = function() {
my_function('{{ myfield1 }}', '{{ myfield2 }}', ..., '{{ myfield10 }}');
};
-->
</script>
...
我javascript.js
:
function my_function(myfield1, myfield2, ..., myfield10) {
//code
}
這些變量是一個模型的字段,所以我只需要通過模型傳遞。我怎樣才能做到這一點?這一段時間,我就可以工作,我想我應該用serialize
,但我不知道如何...
我template.html
:
...
<script>
<!--
window.onpageshow = function() {
my_function(serializers.serialize("json", {{ mymodelistance }}));
};
-->
</script>
...
在此先感謝
'serializers.serialize'是了Dj安哥代碼。你需要在你的Django視圖中調用它。 –
而且您至少需要15年的時間才能在腳本中添加保護性評論標籤。 –