GAE template 中 {% if xx in yy %} zz {% endif %} 使用

2011-04-07 10:01:39 +08:00
 crazycookie
发现GAE中默认的template应该是使用的0.96的版本,不支持if in 语法
如何切换到1.2版本? 支持 if in 等更多特性的模板语言呢?
5517 次点击
所在节点    Google App Engine
9 条回复
Livid
2011-04-07 10:15:28 +08:00
from google.appengine.dist import use_library

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

use_library('django', '1.2')
crazycookie
2011-04-07 10:37:46 +08:00
[code]UnacceptableVersionError: django 1.2 was requested, but 0.96.4.None is already in use[/code]
iwinux
2011-04-07 10:41:39 +08:00
你是不是从 webapp 里 import 了 template?那个是 0.96 的。
crazycookie
2011-04-07 14:04:00 +08:00
去掉了from google.appengine.ext.webapp import template
依旧不行
crazycookie
2011-04-07 14:10:50 +08:00
在 根目录下建立一个 appengine_config.py

内容入下:

import os
import sys

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
for k in [k for k in sys.modules if k.startswith('django')]:
del sys.modules[k]

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

问题解决
darcy
2011-04-07 14:22:18 +08:00
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from google.appengine.dist import use_library
use_library('django', '1.2')

from google.appengine.ext import webapp
from google.appengine.ext.webapp import util, template

use_library在import template 之前
crazycookie
2011-04-08 00:18:43 +08:00
继续问题2,与这个话题相关
1.2的template include 语法 不支持 上级目录引入文件
比如 {% include "../header.html" %}

应该如何解决呢?
0.96是支持的
flyingfox
2011-04-12 21:50:45 +08:00
darasion
2011-04-12 22:31:54 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/11092

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX