2010-06-01 13 views
10

मेरी कोड है: हैलो ~~~webapp टेम्पलेट टैग में 'elseif' या 'elif' है करता

{% if user %} 
    <p>Logged in as {{ user.first_name }} {{ user.last_name }}.</p> 
{% elif openid_user%} 
    <p>Hello, {{openid_user.nickname}}! Do you want to <a href="{{openid_logout_url}}">Log out?</p> 
{% else %} 
    <p><a href="/login?redirect={{ current_url }}">google Log in</a>.</p> 
    <p><a href="/twitter">twitter Log in</a>.</p> 
    <p><a href="/facebook">facebook Log in</a>.</p> 
    <p><a href="{{openid_login_url}}">openid Log in</a>.</p> 
    <iframe src="/_openid/login?continue=/"></iframe> 
{% endif %} 

त्रुटि है:

TemplateSyntaxError: Invalid block tag: 'elif' 

नहीं webapp एक है 'करता है और अगर '?

धन्यवाद

+1

यह विनम्र है में 'elif' टैग सक्षम वोट दें-क्लिक करने के लिए ऊपर की ओर वाले तीर के उत्तर दिए गए हैं कि कर रहे हैं आपके लिए सहायक – bernie

+1

आप 5 महीने के लिए साइट के सदस्य रहे हैं और कुल 6 अपवॉट्स और 5 डाउनवॉट्स हैं। – bernie

+2

तीन में से दो टैग गलत वर्तनी। –

उत्तर

16

webapp से प्रति कोई भी टेम्पलेट है, लेकिन आप Django टेम्पलेट का उपयोग कर सकते हैं - डिफ़ॉल्ट, पीछे से उन लोगों द्वारा Django 0.96 में (के रूप में आप प्राचीन डॉक्स मैं की ओर इशारा से देखते हैं, कि नेस्टेड if की आवश्यकता है शारीरिक रूप से होने के लिए else ब्लॉक के अंदर घोंसला)। आप

import os 
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' 

from google.appengine.dist import use_library 
use_library('django', '1.1') 

के साथ अपने अजगर कोड शुरू करने से Django (अधिक जानकारी के लिए here देखें) का एक और अधिक अद्यतन संस्करण का उपयोग कर सकते हैं, लेकिन जब तक यह आप किसी टेम्पलेट भाषा कि बेहद कई मायनों में सुधार हुआ है देता है, उन सुधारों नहीं है में elseif या elif टैग शामिल हैं - आप अभी भी को प्राथमिक व्यक्ति की else शाखा के अंदर माध्यमिक if स्पष्ट रूप से घोंसला करना है।

+1

'elif' अब समर्थित है। देखें: https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#if – Nosh

13

अद्यतन: as Jeff Bauer says in a comment below, Django 1.4 provides an elif tag

मूल जवाब इस प्रकार है:

कोई {% elif %} टैग नहीं है:


The Django Book इस में क्या कहना है। इसी कार्य को पूरा करने के लिए नेस्टेड {% if %} टैग उपयोग करें:

तो, आप को प्राप्त करने के

if 
else 
    if 
    else 

क्या करना है एक अगर-elsif-बाकी।

यह उनकी Design Philosophies में परिलक्षित होता है:

लक्ष्य एक प्रोग्रामिंग भाषा का आविष्कार करने की नहीं है। लक्ष्य केवल पर्याप्त प्रोग्रामिंग-एस्क कार्यक्षमता प्रदान करना है, जैसे ब्रांचिंग और लूपिंग, जो प्रेजेंटेशन से संबंधित निर्णय लेने के लिए आवश्यक है।

+0

दिलचस्प। मैंने हमेशा सोचा कि जीएई में पूर्ण Jinja2 टेम्पलेट समर्थन था। –

+2

Django 1.4 के रूप में, टेम्पलेट अब elif टैग का समर्थन करते हैं: https://docs.djangoproject.com/en/dev/releases/1.4/#minor-features –

+0

अपडेट किया गया। धन्यवाद @ जेफ। –

0

वहाँ भी दो Django स्निपेट्स कि टेम्पलेट भाषा

http://djangosnippets.org/snippets/1572/

http://djangosnippets.org/snippets/2243/

+0

इसका उपयोग कैसे करें। मेरा मतलब है कि हम कोड स्निपेट कॉपी करेंगे और इसे templatetags फ़ोल्डर के अंदर एक फ़ाइल में रखेंगे। और तब ?? क्या आप कृपया समझा सकते हैं। – sandeep

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