2016-01-06 5 views
7

में मैं Django सीख रहा हूं और विशेष पात्रों के 2 सेटों में आया हूं जिन्हें मैंने पहले इस तरह उपयोग नहीं किया है। मैं अनुमान लगा सकता हूं कि उदाहरणों में उनका क्या उपयोग किया जाता है, लेकिन उनके दायरे को समझ में नहीं आता है।{%%} और {{}} Django

वे हैं:

  • {% if registered %}
  • {{ user_form.as_p }}

मैं if registered और संदर्भ के लिए में user_form.as_p गयी। मैं केवल {% %} और {{ }} भागों से संबंधित हूं।

  • क्या ये केवल Django में उपयोग किए जाते हैं या क्या वे पायथन में भी उपयोग किए जाते हैं?
  • प्रत्येक का क्या अर्थ है?
  • क्या पात्रों के अन्य समान सेट हैं?

उत्तर

11

ये विशेष टोकन हैं जो django टेम्पलेट्स में दिखाई देते हैं। आप प्रलेखन में django template language reference पर वाक्यविन्यास के बारे में अधिक पढ़ सकते हैं।

{{ foo }} - यह टेम्पलेट में प्लेसहोल्डर है, परिवर्तनीय foo जो दृश्य से टेम्पलेट को पास किया गया है।

{% %} - जब पाठ इन delimiters से घिरा हुआ है, इसका मतलब है कि कुछ विशेष समारोह या कोड चल रहा है, और इसका परिणाम यहां रखा जाएगा। इसका उपयोग तब किया जाता है जब पाठ के अंदर पाठ को टेम्पलेट में पास नहीं किया जाता है, बल्कि टेम्पलेट भाषा का एक फ़ंक्शन या फीचर जिसे निष्पादित किया जा रहा है (लूप के लिए, या यदि सशर्त हो)। आप टेम्पलेट भाषा में अपने स्वयं के एक्सटेंशन बना सकते हैं, जिन्हें टेम्पलेट टैग कहा जाता है।

{{ foo|something }} - यह एक और वाक्यविन्यास है जिसे आप पार कर सकते हैं। |something एक टेम्पलेट फ़िल्टर है। आमतौर पर | प्रतीक के बाईं ओर आइटम के परिणाम को बदलने के लिए होता है। उदाहरण के लिए {{ foo|title }}

आप टैग और फ़िल्टर के बारे में अधिक पढ़ सकते हैं जिन्हें दस्तावेज़ में template builtins के रूप में जाना जाता है।

यह वाक्यविन्यास डीजेंगो के लिए अद्वितीय नहीं है - पाइथन (और पाइथन के बाहर कुछ) में कई अन्य टेम्पलेट भाषाओं ने एक समान वाक्यविन्यास अपनाया है।

पायथन भाषा में एक ही वाक्यविन्यास नहीं है, लेकिन इसमें string templates की अवधारणा है जो एक टेम्पलेट इंजन का एक बहुत ही सरल संस्करण है।

1

{%%} और {{}} Django templating भाषा का हिस्सा हैं। वे चर से दृश्यों को चर से पास करने के लिए उपयोग किया जाता है। {%%} मूल रूप से तब प्रयोग किया जाता है जब आपके पास अभिव्यक्ति होती है और टैग कहा जाता है जबकि {{}} को चर का उपयोग करने के लिए उपयोग किया जाता है।

अधिक जानकारी के लिए, मेरा सुझाव है पर एक नजर है:

https://docs.djangoproject.com/en/1.9/ref/templates/language/#variables

2

वे उर्फ ​​.html फ़ाइलों में उपयोग किया जाता है टेम्पलेट्स। वे पाइथन नहीं हैं, वे Django's template engine का हिस्सा हैं।

आप जैसे वाक्य के लिए {% %} का उपयोग करें: if और for, या इस तरह के रूप टैग कॉल करने के लिए: load, static, आदि

और तुम {{ }} का उपयोग अपने टेम्पलेट में चर रेंडर करने के लिए।