嗨我得到了以下过滤器,它与django 0.96(GAE)配合使用,并在GAE + django 1.2的布局错误上生成代码。现在我想更新过滤器,以便它与django 1.2一起使用。请提供任何信息,请您这样做。
过滤器:
def news(n):
url = os.environ.get('HTTP_HOST') if os.environ.get('HTTP_HOST') else os.environ['SERVER_NAME']
tld = url[url.rfind('.'):]
try:
if url == 'localhost:8080' or url.endswith('alltfunkar.com'):
result = urlfetch.fetch('http://news.google.se/?output=rss')
elif tld != '.com' and tld != '.se' and tld != '.cl' :
result = urlfetch.fetch('http://news.google.com'+tld+'/?output=rss')
else:
#result = urlfetch.fetch('http://news.google'+tld+'/?output=rss')
result = urlfetch.fetch('http://news.google.com/?output=rss')
if result.status_code == 200:
dom = minidom.parseString(result.content)
item_node = dom.getElementsByTagName("item")
try:
random_1=random.choice(item_node)
rss1_link = random_1.childNodes[1].firstChild.data
rss1_text = random_1.childNodes[0].firstChild.data
return '<a href="'+rss1_link+'">'+rss1_text+'</a>'
except IndexError,e:
return ''
except urlfetch.Error, e:
pass
register.filter(news)
模板用法
{{a|news|fix_ampersands|truncatewords_html:8}
在这里解决并完成了帮助!非常感谢:
答案 0 :(得分:2)
当然,如果您明确指出了您所获得的输出的“错误”,那将会有所帮助。
我的猜测是它的自动调整,因为你会知道你是否阅读了从0.96升级到1.0的指南。将输出标记为安全:
from django.utils.safestring import mark_safe
...
return mark_safe('<a href="'+rss1_link+'">'+rss1_text+'</a>')
或更多Python:
return mark_safe('<a href="%s">%s</a>' % (rss1_link, rss2_text))