8

サイトの多くのコンテンツに django flatpages を使用しています。コンテンツでも django テンプレート タグを受け入れるように拡張したいと考えています。

このスニペットを見つけましたが、多くのことを話した後、それを機能させることができませんでした。これを機能させるには、django flatpages アプリを「サブクラス化」する必要があると思いますか? これが最善の方法ですか?djangoディストリビューションを直接変更したくないので、それをどのように構築するかはよくわかりません。

4

2 に答える 2

8

1.各ページのテンプレートをロードしてテンプレートタグをレンダリングするシンプルなページビュー:

url.py

url(r'^page/(?P<slug>.*)/$','my_app.views.page_detail', name='page_url'),

my_app/views.py

def page_detail (request, slug):
    return render_to_response('page/' + slug + '.html', {},
                              context_instance=RequestContext(request))

2.データベースにフラットページを保存する別の方法は、このようなテンプレートで「テンプレート評価タグ」を使用することです。

編集次のようにフラットページテンプレートを変更する必要があります。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
    "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>{{ flatpage.title }}</title>
</head>
<body>
{% load evaluate_tag %} 
{% evaluate flatpage.content %} 
</body>
</html>
于 2010-06-18T07:04:58.770 に答える
0

direct_to_template別のアプローチとして、汎用ビューに基づいて単純なアプリを作成することもできます。

于 2010-06-17T23:32:48.497 に答える