`

在GAE中使用django模板

阅读更多
Google App Engine自带了django框架,开发者可以直接在上面使用django开始web程序,如果你不打算去学django框架,而只是想用它的模板机制,那也是可以的,这里以一个hello, world为例做个演示:

文件:./simple_blog/app.yaml
application: simple-blog
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: simple_blog.py

文件:./simple_blog/simple_blog.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cgi
import sys, os
import wsgiref.handlers
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template

_DEBUG = True

class BaseRequestHandler(webapp.RequestHandler):
  """套用模板"""
  def render(self, template_name, template_values={}):
    values = {
      'request': self.request,
      'application_name': 'test',
    }
    values.update(template_values)
    directory = os.path.dirname(__file__)
    #指定模板文件路径
    path = os.path.join(directory, os.path.join('templates', template_name))
    self.response.out.write(template.render(path, values, debug=_DEBUG))
 
class IndexPage(BaseRequestHandler):
  def get(self):
    self.render('index.html', {
      'title': 'Index',
      'content': 'Hello, World'
    })

#配置URL路由
application = webapp.WSGIApplication([
  ('/', IndexPage)
], debug=_DEBUG)


def main():
  wsgiref.handlers.CGIHandler().run(application)
 
if __name__ == '__main__':
  main() 


文件:./simple_blog/templates/index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>{{application_name }} - {{title}}</title>
  </head>
  <body>
    {{content}}
  </body>
</html>


附件是一个完整的google app engine演示例子,关于django模板的更详细的说明请参见
http://www.woodpecker.org.cn/obp/django/django-faq/templates.html
分享到:
评论
4 楼 cola.cao 2009-08-10  
哥们,你这跟django有什么关系吗?
3 楼 fengsage 2009-03-09  
最简单的方法就是用记事本把html文件打开,然后另存为的时候选择UTF8格式保存!默认是accis码~
2 楼 pickerel 2008-12-31  
liliang_xf 写道

哥们,模板中有中文会出现乱码,怎么解决

文件都用utf-8编码试试
1 楼 liliang_xf 2008-12-30  
哥们,模板中有中文会出现乱码,怎么解决

相关推荐

Global site tag (gtag.js) - Google Analytics