2009-02-15 11 views
5

मैं Django टेम्पलेट में कुछ जावास्क्रिप्ट चर निर्दिष्ट करने का प्रयास कर रहा हूं।Django टेम्पलेट्स: जावास्क्रिप्ट चर के लिए मान डालें

मुझे कोई समस्या है जहां मैं जो मूल्य आवंटित कर रहा हूं उसे पृष्ठ पर ठीक से लिखा जा रहा है (मैं उन्हें पृष्ठ स्रोत में देख सकता हूं), लेकिन अभी भी null के रूप में आता है।

मैं यह कर रहा हूं:

coords.push([ -320.435118373, -149.333637576 ]); 
coords.push([ -120.41321373 , -329.312376 ]); 
... 

यह coords का मूल्य देखने के लिए Firebug का उपयोग कर, पूरी तरह से वैध जावास्क्रिप्ट प्रतीत हो रहा है फिर भी,:

<script type="text/javascript"> 
    var coords = []; 
    {% for i in item_list %} 
    coords.push([ {{i.x}}, {{i.y}} ]); 
    {% endfor %} 
</script> 

यह पृष्ठ स्रोत है कि उत्पादन किया जाता है , यह उत्पादित किया गया है:

[[null, null], [null, null], [null, null]...[null, null]] 

तो यह स्पष्ट है कि 0 में से प्रत्येककॉल सही ढंग से बंद हो रही हैं और प्रत्येक बार आकार 2 की एक नई सरणी जोड़ दी जा रही है। हालांकि, किसी कारण से, संख्यात्मक अक्षर सभी null का मूल्यांकन करते हैं।

क्या कोई जानता है कि मैं इन मानों को सही तरीके से कैसे उपयोग कर सकता हूं?

अद्यतन: ऐसा लगता है कि सरणी में मानों ठीक हैं जब तक मैं उन्हें jQuery flot प्लगइन में पारित:

$.plot($('#mapWrapper'), coords, options); 

तो मुझे लगता है कि इस तरह से से कोई लेना देना नहीं है मैं सभी के बाद Django टेम्पलेट्स का उपयोग कर रहा हूँ। फिर भी, मैं उत्सुक हूं कि $.plot के साथ समस्या क्या है।

+0

क्या आपने फायरबग के साथ कोड के माध्यम से कदम रखा है? –

+0

हां, जैसा ऊपर बताया गया है, मैंने पाया कि समस्या वास्तव में Django टेम्पलेट से संबंधित नहीं है। –

उत्तर

3

ऐसा लगता है कि मुझे एक छोटी सी चीज़ याद आ रही थी। मैं एक डेटा श्रृंखला का उपयोग कर रहा था जो सरणी की सरणी थी। दरअसल, jquery फ़्लोट प्लगइन श्रृंखला की एक सरणी की उम्मीद कर रहा है, जो सरणी के सरणी हैं, इसलिए मुझे एक तिहाई-नेस्टेड सरणी की आवश्यकता थी।

इस से बदल रहा है:

$.plot($('#mapWrapper'), coords, options); 
इस के लिए

:

$.plot($('#mapWrapper'), [coords], options); 

समस्या तय।

उन सभी को धन्यवाद जिन्होंने इसे देखा।

0

मैंने इसे एक परीक्षण ऐप में आजमाया है और यह ठीक काम करता है (item_list "x" और "y" तत्वों के रूप में फ़्लोट के साथ डिक्ट्स की सूची होने के साथ)। ऐसा कुछ और होना चाहिए जो आप कर रहे हैं कि आप यहां नहीं दिख रहे हैं।

मुझे आश्चर्य है कि शायद यह एक अजीब एन्कोडिंग समस्या है, हो सकता है कि आप इसे अजीब यूनिकोड वर्णों का उपयोग किए बिना उपयोग कर रहे हों?

0

क्या साजिश वास्तव में करना है? ऐसा लगता है कि यह किसी भी तरह से तारों के साथ काम करना चाहिए, इस मामले में अंक के लिए सरणी के सरणी में गुजरना सही है?

coords.push({ "x":-320.435118373, "y":-149.333637576 }); 
coords.push({ "y":-120.41321373, "y":-329.312376 }); 

बस एक विचार:

मुझे लगता है कि हैश या coords वस्तुओं की एक सरणी, की तरह कुछ लेने की उम्मीद है।

+0

फ़्लोट डेटा श्रृंखला के लिए सरणी की सरणी लेता है। फ्लोट का उपयोग करने वाला यह मेरा पहला समय है, लेकिन मैंने फ्लोटर का उपयोग किया है (प्रोटोटाइप के लिए एक कॉपीकैट), और दस्तावेज एक ही उपयोग को इंगित करता है। –

संबंधित मुद्दे