2012-03-02 15 views
2

私のPythonのGoogle App Engineアプリケーションでは、ほとんどのページのデザインが同じであるため、基本テンプレートとしてpage.htmlを作成しました。個々のページのコンテンツは.txtファイルです。私の.pyスクリプトでは、私はこれを実行します。.txtファイルのページコンテンツを読み込むDjangoテンプレートシステムを破る

pageFile = open("content.txt", "r") 
pageText = pageFile.read(); 
pageFile.close() 

し、ページがpageTextコンテンツをレンダリングされるこの

template_values = { 
    'full_name': full_name, 
    'notification': notification, 
    'pageText': pageText 
    } 

    path = os.path.join(os.path.dirname(__file__), 'page.html') 

が挿入されますんが、Djangoテンプレートマークアップを(のような{{FULL_NAME}} )は解析されません。それは私の問題です。私は、これを解決するには、htmlファイルを2回レンダリングして、コンテンツにロードしてからDjangoテンプレートを解析することを考えていますが、これを行う方法についてのリソースはありません。どんな助けもありがたい。

EDIT:特定のビューコード

命令ページ

クラス命令(webapp.RequestHandler): デフ(自己)を取得:

checkUser(self) 
    checkProfile(self) 
    flowControl(self, 0) 

    prepareHeader(self) 

    global notification 

    try: 
     notification 
    except NameError: 
     notification = "" 

    pageFile = open("instruction.txt", "r") 
    pageText = pageFile.read(); 
    pageFile.close() 

    template_values = { 
     'url': url, 
     'url_linktext': url_linktext, 
     'user': user, 
     'pageText': pageText, 
     'footerText': footerText, 
     'notification': notification 
    } 

    global instruction, refresh 
    instruction = True 
    refresh = True 

    path = os.path.join(os.path.dirname(__file__), 'instruction.html') 
    self.response.out.write(template.render(path, template_values)) 
+0

なぜ、インクルードテンプレートタグを使わないのですか?ビューコードを投稿できますか?とテンプレート? – jpic

+0

、あなたは私の心を吹いている。私はそのタグについて、それを見て分かりません。素早く返信してくれてありがとう – Tr3y

+0

私はincludeテンプレートタグを使っていると思いますよね? GAEのドキュメント(http://code.google.com/appengine/docs/python/gettingstarted/templates.html)で指示されていることを実行しています。関連するすべてのビューコードが上記に掲載されています。私のテンプレートで置き換えられていない単純なdjangoテンプレート変数{{これは}}ですが、それらを含むコンテンツ自体は{{うちの1つ}}なので、解析されません。 – Tr3y

答えて

2

あなたはDjango include template tagを使用することができます。またはtemplate inheritance

この例では、テンプレート「FOO /内容でbar.html」の内容を含む:

{% include "foo/bar.html" %} 

この例では、名前変数テンプレート名に含まれているテンプレートの内容を含む:

{% include template_name %} 
+0

あなたは男です!初心者を助けてくれてありがとう。 – Tr3y

+0

実際にはテンプレートの継承が良い選択肢かもしれませんが、あなたのコードがなくても、私はあなたのドキュメントよりも優れたものを示すことはできません。 https://docs.djangoproject.com/en/dev/topics/templates/ – jpic

関連する問題