【发布时间】:2010-05-16 01:47:24
【问题描述】:
方法是:
def printa(x):
return x
回复是:
self.response.out.write(template.render(path, {'printa':printa}))
html 是:
{{ printa 'sss'}}
我想在我的页面中显示“sss”,
那么如何做到这一点,
更新
我创建了一个 templatetags 文件夹和 2 个 py 文件:
templatetags
|--------__init__.py
|--------tags.py
在 tags.py 中是:
#from django import template
from google.appengine.ext.webapp import template
register = template.Library()
def printa():
return 'ssss'
register.simple_tag(printa)
html 是:
{% load tags%}
{% printa %}
但它显示错误,错误是:
TemplateSyntaxError: 'tags' is not a valid tag library: Could not load template library from django.templatetags.tags, No module named tags
为什么?
怎么了?
答案是:
tags.py:
from google.appengine.ext import webapp
register = webapp.template.create_template_register()
@register.filter
def printa(value,y):
return 'url:%s' % y
@register.tag
def printb(x,y):
return str(x.__dict__) +'dddddddddddddddddddddddddddddddd'+ str(y.__dict__)
#return x
#register.tag('printb',do_pagednav)
然后在 html 中(a 是我发送到模板的变量):
{{a|printa:"dwqdq"}}
{% printb %}
工作:
不要使用负载:
{% load sometags %}
【问题讨论】:
标签: python google-app-engine templates methods