Django में करने के लिए MAKO, हम ऐसा कर सकते हैं:तोरणों कैसे करता है, तो चर मौजूद जाँच करें या नहीं
views.py :
def A(request):
context = {test : 'test'}
return render_to_response('index.html', context , context_instance = RequestContext(request))
def B(request):
context = {}
return render_to_response('index.html', context , context_instance = RequestContext(request))
index.html:
{% if test %}
{{ test }}
{% endif %}
और हमारे टेम्पलेट त्रुटि के बिना प्रस्तुत करना है, भले ही मैं method B
, जहां चर 'test'
मौजूद नहीं है का उपयोग करें, लेकिन मैं अभी भी इसे टेम्पलेट में डाल सकता हूं।
मैं नियंत्रक में, तोरणों के साथ एक ही + mako क्या करना चाहते हैं:
foo.py
def A(self):
c.test = 'test'
return render('index.html')
def B(self):
return render('index.html')
index.html :
% if c.test:
${'c.test'}
% endif
Django में, मैं ऐसा कर सकते हैं, लेकिन Pylons में, मैं कोई त्रुटि मिलती है, वहाँ वैसे भी जांच करने के लिए wheter 'c.test'
मौजूद है या नहीं?
त्रुटि: AttributeError:
% if someval is UNDEFINED:
someval is: no value
% else:
someval is: ${someval}
% endif
डॉक्स वर्तमान संदर्भ में नहीं चर नाम संदर्भित के रूप में इस का वर्णन: 'ContextObj' ऑब्जेक्ट कोई विशेषता 'परीक्षण'
धन्यवाद, सिर्फ एक और सवाल है, इसलिए यदि मुझे यकीन नहीं है कि कुछ चर मौजूद हैं या नहीं, तो सख्त_ंडिफाइन = सही का उपयोग न करें? – Santana
नहीं, मुझे लगता है कि एक कोशिश में लपेटना/ब्लॉक को छोड़कर अभी भी उस मामले में काम करेगा। मैं किसी और को अनुभवी व्यक्ति के लिए स्थगित कर दूंगा, लेकिन संदेह है कि यह एक सतत कोडिंग शैली को रखने के बारे में अधिक है। मुझे यकीन नहीं है कि यह एक दूसरे के ऊपर एक और तरीका है 'अधिक सही' है। – chris
मैंने एक ऐसा उत्तर जोड़ा जो सख्त_ंडिफाइन पर निर्भर नहीं है –