Python webapp是否有';elseif';或';elif';模板中的标记

Python webapp是否有';elseif';或';elif';模板中的标记,python,google-app-engine,if-statement,Python,Google App Engine,If Statement,我的代码是: 你好!~~~ {% 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> {%

我的代码是: 你好!~~~

{% 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 %}
webapp是否有“else if”

谢谢更新,Django 1.4

原答覆如下:


有这样的说法:

没有
{%elif%}
标记。使用嵌套的
{%if%}
标记完成相同的任务:

所以,你必须这么做

if
else
  if
  else
实现if-elsif-else

这反映在他们的:

目标不是发明一种编程语言。目标是提供足够的编程风格的功能,如分支和循环,这对于做出与表示相关的决策至关重要


webapp本身没有模板,但是默认情况下,您可以使用Django模板-,也就是从后面的那些模板(正如我所指的古代文档中看到的,这要求嵌套的
if
实际嵌套在
else
块中)。您可以使用更新版本的Django(有关更多详细信息,请参阅),方法是使用

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

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

但是,虽然这确实为您提供了一种在许多方面都有了巨大改进的模板语言,这些改进不包括
elseif
elif
标记——您仍然必须显式地将次要
if
嵌套在主要的
else
分支中。

还有两个Django片段,它们在模板语言中启用了“elif”标记


向上投票是礼貌的,单击对您有帮助的向上箭头答案。您已经成为该网站的成员5个月了,总共有6个向上投票和5个向下投票。三个标签中有两个拼写错误。@Adam:zjm1126懒惰而草率。别忘了他彬彬有礼的举止。我一直认为GAE完全支持Jinja2模板。从Django1.4开始,模板现在支持elif标记:如何使用它。我的意思是我们应该复制代码片段并将其保存在templatetags文件夹中的一个文件中。然后??请您解释一下。
elif
现在受支持。见:
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

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