0

初心者の質問ですが基本的にはこのサイトと同じデザインにしたいです。HTML の部分は理解できますが、複数の HTML ファイルを 1 つのビューで実際にレンダリングする方法が完全にはわからないという問題があります。

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

私のウェブページはこのリンクにあります。http://everyology.appspot.com/biology

私が使っているのはGoogleアプリエンジンです。これは、質問に関連する部分的なコードです。私の懸念はクラス BioPage にあります... 私はこれらを書き、フレームを見ていますが、私の Web ページで 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>タグがどのように機能するかです。フレームを埋めるために、ブラウザはフレームごとに追加のリクエストを行います。あなたのコードは先を見越して、すべてのフレーム コンテンツを 1 つの塊に戻そうとしています。それはそれがどのように機能するかではありません。メイン ページに加えて、フレームごとに個別のハンドラーが必要になります。または、完全に静的なページを静的ページとして提供することもできます。

于 2012-06-14T04:11:42.723 に答える