如何在Google App Engine WebApp Framework中使用Django的MarkUp模板标签

时间:2011-02-11 01:18:32

标签: google-app-engine django-templates markup

我正在使用适用于Django模板的Google App Engine WebApp Framework。我正在尝试使用Django的MarkUp过滤器,说明说:

  • 将django.contrib.markup放入INSTALLED_APPS
  • 通过{%load markup%}
  • 在模板中加载标记
  • 使用适当的过滤器过滤任何文本:{{text | textile}}

我的问题是,因为我使用的是webapp框架,所以我没有“INSTALLED_APP”中间件。有谁知道如何在webapp中加载这个模块?

1 个答案:

答案 0 :(得分:3)

设置标记库:

在您的应用目录中创建一个文件夹,例如 customtags

在此文件夹中创建一个空的__init__.py文件

在同一文件夹中创建您的代码文件 customtags.py ,例如

在'customtags.py'的开头添加以下行

from google.appengine.ext import webapp
register = webapp.template.create_template_register()

将新标记库添加到main.py文件中,如下所示:

template.register_template_library('customtags.customtags')

假设你已经拥有:

from google.appengine.ext.webapp import template 

像这样创建标签:

过滤标签:

@register.filter
def foobar(value):
    return value

从模板中调用如下:

{{ something|foobar }}

简单标记:

@register.simple_tag
def mysimpletag():
    print 'hello from the simple tag'

从模板中调用如下:

{% mysimpletag %}

包含标签:

@register.inclusion_tag('templates/menu.html')
def menu():
    items = db.GqlQuery('SELECT * FROM Pages')
    return {'items':items}

来自templte的电话如下:

{% menu %}