0

绝对是初学者的问题......基本上,我想从这个网站获得相同的设计。我了解 HTML 部分,但问题是我不完全确定如何在一个视图中实际呈现多个 html 文件。

http://www.htmliseasy.com/frames_tutor/templates/template1.html

我的网页在这个链接中。http://everyology.appspot.com/biology

我使用的是谷歌应用引擎。这是与问题相关的部分代码。我关心的是 BioPage 类...我写了这些并且看到了框架,但在我的网页中出现了 404 错误。

import os
import webapp2
from string import letters

import jinja2

template_dir = os.path.join(os.path.dirname(__file__), 'templates')
jinja_env = jinja2.Environment(loader = jinja2.FileSystemLoader(template_dir),
                           autoescape = True)

def render_str(template, **params):
    t = jinja_env.get_template(template)
    return t.render(params)

class MainHandler(webapp2.RequestHandler):
    def write(self, *a, **kw):
        self.response.out.write(*a, **kw)

    def render_str(self, template, **params):
        return render_str(template, **params)

    def render(self, template, **kw):
        self.write(self.render_str(template, **kw))

class MainPage(MainHandler):
    def get(self):
        self.render('index.html')

class BioPage(MainHandler):
    def get(self):
        self.render('biology.html') 
        self.render('doc1.html')
        self.render('doc2.html')
4

1 回答 1

1

您遇到的问题是<frame>标签的运作方式。为了填充帧,浏览器每帧发出一个额外的请求。您的代码试图提前猜测,将所有帧内容打包返回。这不是它的工作原理。除了主页之外,您还需要为每个框架提供单独的处理程序。或者,可以为那些完全静态的页面提供静态页面。

于 2012-06-14T04:11:42.723 回答