将静态PHP网站移植到Google App Engine

时间:2013-02-07 14:32:54

标签: python google-app-engine

我正在尝试使用webapp2&amp ;;将使用PHP完成的静态网站移植到Google App Engine Jinja2的。
我的PHP的index.php看起来像这样:

<body>
<div id="container">
    <header id="header"><?php require_once DIR_HTML."header.phtml" ?></header>
    <section id="main"><?php require_once DIR_HTML.$_GET['page'].".phtml" ?></section>
    <footer id="footer"><?php require_once DIR_HTML."footer.phtml" ?></footer>
</div>
</body>

在我的google-app-engine代码中,我有这个:

import webapp2, jinja2, os

jinja_environment = jinja2.Environment(loader=jinja2.FileSystemLoader(os.path.dirname(__file__)))

class MainPage(webapp2.RequestHandler):
    def get(self):
        template_values = {
        }

        template = jinja_environment.get_template('index.html')
        self.response.out.write(template.render(template_values))

class AboutPage(webapp2.RequestHandler):
    def get(self):
        template_values = {
        }

        template = jinja_environment.get_template('templates/about.html')
        self.response.out.write(template.render(template_values))        

app = webapp2.WSGIApplication([('/', MainPage), ('/about', AboutPage)], debug=True)

如何在Python中复制相同类型的功能?

1 个答案:

答案 0 :(得分:2)

Template Inheritance

  

Jinja最强大的部分是模板继承。模板继承允许您构建一个基础“框架”模板,其中包含您网站的所有常见元素,并定义子模板可以覆盖的块。

<!DOCTYPE html>
<html lang="en">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    {% block head %}
        <link rel="stylesheet" href="style.css" />
        <title>{% block title %}{% endblock %} - My Webpage</title>
    {% endblock %}
</head>
<body>
    <div id="content">{% block content %}{% endblock %}</div>
    <div id="footer">
        {% block footer %}
            &copy; Copyright 2008 by <a href="http://domain.invalid/">you</a>.
        {% endblock %}
    </div>
</body>