zjm*_*126 10 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>
{% 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 %}
Run Code Online (Sandbox Code Playgroud)
错误是:
TemplateSyntaxError: Invalid block tag: 'elif'
Run Code Online (Sandbox Code Playgroud)
webapp没有'else if'吗?
谢谢
Mar*_*off 16
更新:正如Jeff Bauer在下面的评论中所说,Django 1.4 提供了一个elif标签.
原答案如下:
Django Book有这样说:
没有
{% elif %}标签.使用嵌套{% if %}标签来完成同样的事情:
所以,你必须这样做
if
else
if
else
Run Code Online (Sandbox Code Playgroud)
实现if-elsif-else.
这反映在他们的设计理念中:
目标不是发明一种编程语言.目标是提供足够的编程式功能,例如分支和循环,这对于做出与表示相关的决策至关重要.
Ale*_*lli 16
webapp本身没有模板,但是你可以使用Django模板 - 默认情况下,那些来自Django 0.96的模板(正如你从我指出的古老文档中看到的那样,它要求嵌套if物理嵌套在else块内).您可以通过启动Python代码来使用更新版本的Django(请参阅此处以获取更多详细信息)
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from google.appengine.dist import use_library
use_library('django', '1.1')
Run Code Online (Sandbox Code Playgroud)
虽然这确实为您提供了一种在很多方面得到极大改进的模板语言,但这些改进不包括elseif或elif标记 - 您仍然必须将辅助显式嵌套if在主要else分支的内部.
| 归档时间: |
|
| 查看次数: |
26163 次 |
| 最近记录: |